2017-09-25 131 views
0

我有一个在我的java程序中编译的jar文件,当我的java程序没有被编译为可运行的jar文件时,它运行时没有任何错误。现在,当我尝试运行我的可运行jar文件时,我的程序不起作用。我如何访问在jar文件中编译的jar文件?在一个jar文件中编译时在cmd中运行一个jar文件

下面的代码:

javaFile = "c:\\users\\jakeryan\\desktop\\javaCodeProgram.java"; 
javaFileTempRes= "c:\\users\\jakeryan\\desktop\\result.txt"; 

Process process = runtime.exec("cmd /c java -jar checkstyle-8.2-all.jar -c /google_checks.xml -f plain -o " + javaFileTempRes + " " + javaFile); 

回答

0

如果我没有看到它,你不想打开的java.io.File的ressource从开始JAR文件中指向一个jar文件。但是你想启动一个使用这个jar文件的shell cmd。这与正在运行的java程序无关,所以你必须解压缩,然后在shell cmd中使用jar文件作为标准。

+0

是的,这是正确的。可能吗? – GPKiosk

0

Java中的标准类加载器无法理解罐子里面的罐子。这不起作用。但是,您可以将罐子提取到临时位置,然后在那里引用它。

考虑将您的总体目标添加到您的问题。根据具体情况,可能会有更好的方法来执行您想要执行的操作。