2015-11-04 106 views
0

我正在製作一個2D遊戲,我編譯成了一個.jar文件來測試它是否有效。 當與java -jar命令運行jar文件,我得到以下錯誤:Java -jar錯誤:無法找到或加載主類

Error: Could not find or load main class com.grizeldi.splatoon.Main 

我知道這裏有很多的解決方案上StackOveflow,但我已經嘗試更新的java,用-cp搞亂......毫無效果至今。

代碼:github repo

幫助的人?編輯1:我有我的代碼在一個USB棒,但我已經嘗試將其移動到C:和D:但沒有任何工作。 EDIT2:我在github上添加了.jar。

+0

是的,我的清單是好的。主類屬性在那裏。 – grizeldi

+0

罐子的內容是什麼? ('unzip -l'或'jar -t') – Kenney

+0

在jar的根目錄下是META-INF和com的地圖。在COM然後有其他包。 – grizeldi

回答

1

的方法之一是更新清單與類路徑中的其他罐子:

Class-Path: lib.jar 

另一種方法是添加你的主要罐子取決於你的主罐子罐子的內容,所以你只有一個jar文件。請確保您不要將罐子本身添加到主罐子中,因爲嵌套罐子無法工作。

當處理本地庫(.so.dll)時,只需將它們放在與jar相同的目錄中即可。這個缺點是你有多個文件。 在這種情況下,只需添加啓動腳本(.sh,.bat),指定Main路徑的類路徑和類名以及-Djava.library.path即可。

還有另一種方法:在運行時從jar中提取本地庫,將其保存到臨時位置並顯式加載它。有關更多信息,請參閱here

+0

我有一個文件夾中的所有jar(libs + splatoon2D.jar)。應該這樣做嗎? – grizeldi

+0

-jar文檔說當它被使用時,-cp被忽略我認爲 – grizeldi

+0

我不這麼認爲;如果我運行'java',它會顯示'...或java [-options] -jar jarfile'。如果你想要jar文件中的所有東西,你必須解壓縮這些庫並將這些內容添加到jar中。 – Kenney

相關問題