- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我用 Java 构建了一个程序,将 main 放入 jar 文件中,并且我想执行另一个程序。第二个程序也是一个 jarfile。
为了执行第二个程序,我使用进程构建器来使用这些参数执行第二个 jar 文件。但我没有工作,我收到了这样的消息:
错误:无法访问 jarfile 路径/second_program.jar
首先,我认为路径是错误的。但是,我已经在 Windows 和 Linux 上的终端中执行了第二个 jarfile,没有任何问题。
//IN THE FIRST PROGRAM
Process process = null;
List<String> commands = new ArrayList<String>();
if (server.equals("TEST_linux")) {
commands.add("/bin/java");
commands.add("-jar");
commands.add("/mnt/c/Users/second_program.jar");
commands.add("param1");
commands.add("param2");
} else {
commands.add("java");
commands.add("-jar");
commands.add("C:/Users/second_program.jar");
commands.add("param1");
commands.add("param2");
}
System.out.println(commands);
//Execution de la commande externe
ProcessBuilder pb = new ProcessBuilder(commands);
System.out.println(pb.directory());
pb.directory(new File(localFolder));
System.out.println(pb.directory());
pb.redirectErrorStream(true);
process = pb.start();
StringBuilder out = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null, previous = null;
file_generated_by_second_program = output_folder + "/" + panel + "/file_generated_by_second_program.txt";
myFile = new File(file_generated_by_second_program);
writer = new BufferedWriter(new FileWriter(myFile, true));
System.out.println(br.readLine());
第一个程序的所有其余部分都完美执行。我使用生成参数的第一个程序来执行生成文件的第二个程序。该文件在第一个程序中使用...我无法单独启动第二个程序...
有什么想法吗?
更新:
这里,这些错误:
//Windows before suggestions :
Error: Unable to access jarfile C:/Users/second_program.jar
//Windows after suggestions :
Error: Unable to access jarfile C:\Users\second_program.jar
//Linux :
Error: Unable to access jarfile "/mnt/c/Users/second_program.jar"
System.out.println(br.readLine()); //==> this command doesn't execute too!
在代码的最后一行之后,我创建了不同的变量,并且这些变量存在并且不存在空值。所以对我来说,问题仅限于我的代码的提取......
已解决:我的路径有错误...抱歉
最佳答案
这与不同的路径分隔符有关:
通常,以下问题可以通过使用File.separator
属性来解决,该属性将根据您正在运行的操作系统返回正确的字符。但是,我可以看到您很可能使用 WSL,因此在这种情况下它可能不起作用,您必须对其进行硬编码。
总而言之,您需要修复 Windows 的 jar 路径并区分两个操作系统的输出路径。
关于java - 错误: Unable to access jarfile when I launch a process builder command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58114299/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在编写一个 Java 程序,并且有一个 launch4j 启动器。我的 JAR 存储在 users %APPDATA% 文件夹下,但是当我尝试在 launch4j 中使用它时,出现以下错误: 这是
我有一个名为 test.jar 的 jar 文件,我使用同一文件夹中的批处理脚本运行它。这是批处理代码: java -jar test.jar pause jar 本身没有问题,我可以很好地运行它。但
我正在尝试编写如下函数: public Map getTestXml(JarFile jarFile) { Map result = Maps.newHashMap(); Enumer
我在 windows(10) 启动时通过批处理文件启动我的应用程序。这就是我的批处理文件中的内容 - start javaw -jar javaApplication.jar` 当 Windows 启
这个问题已经有答案了: What causes "Unable to access jarfile" error? (40 个回答) 已关闭 4 年前。 我正在尝试从我的 java 程序运行 jar
我在播放 jar 文件中的声音时遇到问题。这是我用于播放声音的代码: public class Sounds { public static void playClickSound()
我需要验证我的应用程序中的签名 jar。我发现我可以通过阅读所有内容来做到这一点,如下所示: public boolean verifyJar(String filePath) { try {
使用 JarFile 类,我可以验证 jar 文件是否已签名。但是,根据我对 API 文档和 jarsigner 文档的阅读,我没有看到验证签名者的方法。换句话说,我可以验证 jar 自签名后没有被修
好吧,这是我的问题,也是我要问你的问题...... 我有一个游戏需要从 jar 文件中加载图像(所有图像都像这样打包到 jar 文件中):我首先解压了 jar 文件: 然后它去: 然后在每个文件夹中,
我制作了一个 JavaFX 应用程序,它运行一个 jarfile 并获取它的(错误)输入流,然后用它重新绘制标签。为了做到这一点,(由于循环)我实现了 Platform.runLater(Runnab
我正在尝试使用 SignApk 签署一个 APK ,但我不断收到此错误: Error: Unable to access jarfile signapk.jar 我已将我的 JDK 目录和我的 Sig
我正在为 Java 9 开发一个使用模块分层的启动器库。为了在层中添加模块,我需要将模块名称(作为字符串)传递给父级的配置。 ModuleLayer Javadoc 在类文档的末尾有一个示例。 现在,
我已经下载了一个在 windows XP 上运行的程序。根据说明,打开包含调用 .jar 文件的命令的 .bat 文件就足够了。然而程序打不开。在 friend 的计算机上,该程序确实打开了。 我已经
我已经下载了 RoboMind ( http://robomind.net ) 并尝试让它在 Linux Mint12 上运行知道 Min12 不是最新版本,我仍然希望它运行... 当我使用包中的 .
我是 Spring Boot 微服务和 Docker 的新手。 微服务项目中的dockerfile: docker 构建: docker 图像: 运行镜像时报错:Unable to access ja
在 Ant 文档中 jar command ,它表示需要 destfile 属性。 但是底部有一个使用 jarfile 属性而不使用 destfile 属性的示例。另外,我还拥有一位同事提供的功能代码
Docker 镜像已构建,但当我想运行它时,它显示以下错误: Error: Unable to access jarfile rest-service-1.0.jar 我的操作系统是 Ubuntu 1
我有两个 jar 文件,我想使用 crontab 运行它们。假设有一个 A 和 B jarfile。当我想为 A jarfile 运行 crontab 时,crontab 工作正常。但是当我想运行 B
我是一名优秀的程序员,十分优秀!