2014-01-20 101 views
8
jar cvef Main.jar Main * 

added manifest 
adding: DrawPane.class(in = 344) (out= 257)(deflated 25%) 
adding: DrawPane.java(in = 306) (out= 175)(deflated 42%) 
adding: main(in = 9038) (out= 8275)(deflated 8%) 
adding: Main.class(in = 868) (out= 544)(deflated 37%) 
adding: Main.java(in = 507) (out= 260)(deflated 48%) 
adding: Manifest.txt(in = 18) (out= 18)(deflated 0%) 
adding: src/(in = 0) (out= 0)(stored 0%) 
adding: src/icon.png(in = 1163) (out= 1168)(deflated 0%) 
adding: src/Thumbs.db(in = 3584) (out= 1038)(deflated 71%) 

jar文件創建的,那麼:的Java不能執行jar文件沒有主清單屬性

java -jar Main.jar 

我得到一個錯誤:

no main manifest attribute, in Main.jar 

什麼我'做錯了什麼?

+0

的[可能重複,無法執行JAR-文件:「沒有主清單屬性」](http://stackoverflow.com/questions/9689793/cant-execute-jar-file-no-main-manifest-attribute) –

+0

但我做得很好,不能理解爲什麼找不到Manifest屬性?看看輸出... –

+0

這不是重複的,請你看看我的代碼,並給我一個什麼是不正確的建議?因爲我得到一個消息,「添加清單」,但仍然沒有找到它執行... –

回答

6

根據this tutorial您的清單文件應該有相對路徑META-INF/MANIFEST.MF。它看起來並不像你在那裏添加自己的清單。 jar命令添加了一個默認清單,這就是爲什麼說'清單已添加'。

編輯:根據the next page in the tutorial,基本語法內容添加到清單文件如下:

jar cfm jar-file manifest-addition input-file(s) 

我建議閱讀本教程的前幾部分,我相信你會得到你想要的結果!

+0

我已經添加了一個文件夾META-INF/MANIFEST.MF,它忽略了輸出中的這個文件,並且仍然沒有manifest屬性? –

+0

檢查我更新的答案。這是RTM的情況! :) –

0

請確保在「:」後面寫入1個空格並在類名後面添加新行並將其保存。 jar工具的語法:

jar -cvmf manifest.txt appname.jar ClassName.class 

運行工具後,運行jar文件與

java -jar appname.jar 

內容manifest.txt文件

主類:(1space)類名(按新進入線)

希望它可以幫助