2017-09-25 118 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中的標準類加載器無法理解罐子裏面的罐子。這不起作用。但是,您可以將罐子提取到臨時位置,然後在那裏引用它。

考慮將您的總體目標添加到您的問題。根據具體情況,可能會有更好的方法來執行您想要執行的操作。

相關問題