java 运行jar 文件,如何在Java程序中运行.jar文件?

博客内容涉及在Java程序中执行位于用户Roaming目录下的Jar文件的问题。作者尝试通过改变目录来运行命令,但遇到了错误。解决方案是使用绝对路径而非相对路径,并结合当前用户名来构造完整路径,然后执行Java Jar命令。示例代码展示了如何获取当前用户名并构建正确的执行命令。
摘要由CSDN通过智能技术生成

What I'm basically trying to do here, is run a .jar file which is located under

C/Users/-any user here-/appdata/Roaming/-my folder here-/-file name here-.jar

Do I somehow open a CMD and do:

cd appdata/Roaming/

java -jar .jar

This seems to work when I type it into CMD itself. I can't seem to make it work when running from java program.

I tried to do:

Runtime.getRuntime().exec("cd appdata/Roaming");

And I get an error that the specified directory doesn't exist.

解决方案

Use an absolute path instead of a relative path, that should prevent the path not being found if you run from any working directory. Otherwise add it to your classpath as Nizil said.

To get the current user's name, use System.getProperty("user.name") and concatenate into your path.

user = System.getProperty("user.name");

cmd = "java -jar C/Users/" + user + "/appdata/Roaming//.jar";

Runtime.getRuntime().exec(cmd);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值