gpt4 book ai didi

java - 尝试将外部 jar 作为进程执行时无法访问 jar 文件

转载 作者:行者123 更新时间:2023-11-30 04:22:52 26 4
gpt4 key购买 nike

嗯,netbeans Java 7u17 项目。我正在尝试执行一个依赖于以下方式的外部 jar 文件:

ProcessBuilder pb = new ProcessBuilder(new String[]{"java", "-jar", String.format("%s %s", path, cmde)});
pb.redirectErrorStream(true);
Process proc = pb.start();

当我执行此应用程序时,我收到以下错误消息:

Error: Unable to access jarfile C:/Users/XXXX/Documents/SampleApplication/ProcessTest/proc.jar -k

该 jar 文件的依赖项(其他 jar 文件)位于其旁边名为 lib 的文件夹中。当我打开 PowerShell 或命令提示符并手动输入

java -jar C:/Users/XXXX/Documents/SampleApplication/ProcessTest/proc.jar -k

应用程序执行完美。为什么不从我的 java 应用程序中?我尝试了许多来自堆栈溢出的类似问题的答案,但没有一个起作用。一些例子: - 重新启动netbeans - 关闭和重新开放的项目 - 重建proc.jar

感谢您的每一次帮助 - 乔伊

最佳答案

我也无法解决,但我有一个解决方法。
创建一个运行 jar 的 bat 脚本并执行该 bat 文件,如下所示:

ProcessBuilder pb = new ProcessBuilder("c:\\...\\runproc.bat");

编辑:

您需要将命令参数一一拆分,例如:

ProcessBuilder("java", "-jar", path, arg1, arg2, ...)

关于java - 尝试将外部 jar 作为进程执行时无法访问 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594251/

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