【发布时间】:2013-06-04 04:46:57
【问题描述】:
我知道如何通过在线查找答案来打开带有 Java 参数的 exe 程序。但是我的具体快捷方式对我来说有点复杂。
我正在尝试打开具有以下目标的快捷方式:
C:\Windows\System32\javaw.exe -cp jts.jar;total.2012.jar -Dsun.java2d.noddraw=true -Dswing.boldMetal=false -Dsun.locale.formatasdefault=true -Xmx768M -XX:MaxPermSize=128M jclient/LoginFrame C:\Jts
在我的程序中,我已经拆分了位置和我认为的参数。但是,当我运行程序时,我收到错误'Could not create Java Virtual Machine, Program will Exit'。对正在发生的事情有更好理解的人可以解释我可能做错了什么或指出我可以阅读的方向吗?
String location = "C:\\Windows\\System32\\javaw.exe";
String p1="-cp jts.jar;total.2012.jar";
String p2="-Dsun.java2d.noddraw=true";
String p3="-Dswing.boldMetal=false";
String p4="-Dsun.locale.formatasdefault=true";
String p5="-Xmx768M";
String p6="-XX:MaxPermSize=128M";
String p7="jclient/LoginFrame" ;
String p8 = "C:\\Jts";
try {
Process p = new ProcessBuilder(location,p1,p2,p3,p4,p5,p6,p7,p8).start();
} catch (IOException ex) {
Logger.getLogger(Openprogramtest.class.getName()).log(Level.SEVERE, null, ex);
}
【问题讨论】:
-
手动运行快捷方式是否有效?
-
尝试通过仅指定
location参数来运行Process。如果可行,则表示参数中存在一些错误 -
@Blorgbeard 是的。这是我安装的一个被广泛使用的程序。 Extreme Coders,如果我不带参数运行它,它只会运行 java
-
在调用
start()之前尝试在ProcessBuilder上设置工作目录 -
每个参数都应该单独过去,我怀疑
p1没有被正确解释。"-cp jts.jar;total.2012.jar"在字面上被视为单个参数,请尝试拆分,以便-cp和jts.jar;total.2012.jar作为单个参数过去
标签: java processbuilder