我有一个用Netbeans创建的Calculator.jar文件。
我想使用java代码运行该jar文件。在查看了stackoverflow和一些文档站点之后,我尝试了以下内容:
public static void main (String [] args){
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar C:\\pathToJar\\Calculator.jar);
pr.waitFor();
}
代码运行正常,但我的问题是文件的路径。如果我在没有绝对路径的情况下运行程序,它会运行并完成,但我从未看到计算器GUI弹出。当我使用绝对路径运行时,GUI会按预期弹出。
我的jar文件和我的源代码在同一个地方。我认为这样做可以让我只需要放置没有绝对路径的Calculator.jar。但这似乎不起作用。
有谁知道我怎么可能存储jar文件所以我不需要使用绝对路径?
编辑:
我还尝试在项目中创建一个名为jarFiles的独立包,并尝试使用路径jarFiles\Calculator.jar
。那也行不通。我想我错误地了解默认路径/ cmd在调用命令时默认使用的路径。我不确定。
提前感谢您的任何建议!
答案 0 :(得分:0)
我相信你遇到的问题是当你尝试
时public static void main (String [] args){
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar \\Calculator.jar");
pr.waitFor();
}
它查看了计算机的根目录,最后还有一个被遗忘的引号。您应该访问当前工作目录的方法是简单地删除\\
,您可能还希望用引号括起jar文件路径,以防万一。
public static void main (String [] args){
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar \"Calculator.jar\"");
pr.waitFor();
}