我的java使用ProcessBuilder
使用我在资源中添加的other jar
来运行多个命令。
它在Eclipse中运行良好,但是一旦我将它导出到executable jar
,它就不起作用了:
//Defs Class has this line
public final static String APKTOOLS_JAR_PATH = Defs.class.getResource("/apktool.jar").getPath();
ProcessBuilder pb = new ProcessBuilder("java", "-jar", Defs.APKTOOLS_JAR_PATH, "d", apkPath, "-o", decodePath, "-f");
pb.redirectError(Redirect.INHERIT);
Process p = pb.start();
我回来了:
Error: Unable to access jarfile apktool.jar
答案 0 :(得分:1)
Java命令可执行文件无法从jar文件中读取jar文件。它只能从文件系统中读取。您必须将该jar文件的内容写入临时文件,并将该路径名传递给ProcessBuilder
。