gpt4 book ai didi

java - 通过 java 代码中的 .cmd 文件启动 java GUI 程序

转载 作者:太空宇宙 更新时间:2023-11-04 09:51:14 25 4
gpt4 key购买 nike

我正在尝试通过 java 代码在 Windows 中启动 java GUI 程序,如下所示:

ProcessBuilder builder = new ProcessBuilder(Arrays.asList(new String[] {"cmd.exe", "/C", 
"C:\\path\\to\\program\\program.cmd"}));
try {
builder.start();
} catch (IOException e) {
e.printStackTrace();
}

cmd 文件使用 "start javaw .." 命令和 ... -cp program.jar -jar program.jar 启动程序。使用上面的java代码时,会抛出找不到program.jar的错误:

enter image description here

我还尝试了以下操作,首先使用 cd :

{"cmd.exe", "/C", "cd C:\\path\\to\\program\\ && program.cmd"}));

但是上面根本没有做任何事情。

.cmd 的内容:

setlocal

SET JAVAHOME=..\java
SET PATH=%JAVAHOME%\jre\bin;%JAVAHOME%\jre\bin\client;%JAVAHOME%\bin;%PATH%
SET PATH=%PATH%;bin\
SET POLICY=java.policy
SET JAR_BOOT=program.jar
SET CONFIG_FILE=program.xml

IF EXIST jar\%JAR_BOOT% copy jar\%JAR_BOOT% . >NUL

start javaw -Xbootclasspath/p:jar/xercesImpl-2.9.1.jar;jar/xml-apis-1.3.04.jar;jar/xalan-2.7.1m1.jar;jar/serializer-2.7.1m.jar -Xmx1024M -XX:MaxPermSize=200M -cp %JAR_BOOT% -Dsun.java2d.noddraw=true -DJINTEGRA_NATIVE_MODE -Djava.security.policy=%POLICY% -jar %JAR_BOOT%

title Command Prompt
endlocal

那么正确的方法是什么?

最佳答案

使用 @JMax 的建议,使用 ProcessBuilder 的 directory() 方法来设置工作目录已经解决了问题

关于java - 通过 java 代码中的 .cmd 文件启动 java GUI 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54712473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com