我正在尝试从 java 代码运行 jar 文件,但不幸的是没有成功。 有关 jar 文件的一些详细信息:
- jar 文件位于不同的文件夹中(例如“文件夹”)。
- 使用文件和文件夹的 jar 文件位于根文件夹中(与我上面提到的相同“文件夹”)。
到目前为止我正在尝试做什么:
JAR 文件项目。
- 在 netbeans 中,我检查了主类是否为 defiend(项目属性 -> 运行 -> 主类)。
其他JAVA程序
尝试使用以下命令运行:
Runtime.getRuntime().exec("javaw -jar "C:\\Software\\program.jar");
&&
Runtime.getRuntime().exec("javaw -jar "C:\\Software\\program.jar" "C:\\Software");
jar 文件打开得很好,但他不知道也不识别他的内部文件夹和文件(与我上面提到的相同的“文件夹”)。 简而言之,它无法识别其根文件夹。
尝试使用 ProcessBuilder 运行
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "start", "javaw", "-jar", "C:\\Software\\program.jar"); pb.directory(new File("C:\\Software")); try { pb.start(); } catch (IOException ex) { }
在某些电脑上它工作正常,但在其他电脑上它不起作用,我收到一条错误消息:“找不到主类” ** 当然,如果我双击运行该 jar 它的作品。
那么我如何从其他java程序运行jar文件?
最佳答案
使用this .exec 的变体,您将工作文件夹指定为第三个参数。 (在您的示例中,您始终只使用一个参数。)
exec("javaw -jar "C:\\Software\\program.jar", null, "C:\\Software");
关于java - 从 java 代码运行 .JAR 文件 (netbeans),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374925/