方法/步驟
-
在java中編譯JAR文件的時候我們都會用到,jar這個命令。
當用着jar 文件時候我們不可少的是cvf這幾個參數來生成jar文件。
但是用個文件來了,在用不使用工具的前提下我們生成的jar文件包后運行會出現。某某類的沒有主清單屬性。如下圖。
-
這樣的問題是因為,jar包中的META-INF文件夾下的MANIFEST.MF文件缺少定義jar接口類。說白了就是沒有指定class類。這里說明一下MANIFEST.MF就是一個清單文件,通俗點將就相當於WINDOWS中ini配置文件。用來配置程序的一些信息。
所以才造成這樣的問題。
-
解決這個問題的方法就是要在MANIFEST.MF文件中添加一個入口類。
即需要一個Main-Class定義行。更詳細的MANIFEST.MF文件定義說明,請參考官方MANIFEST.MF文件定義手冊。
下面是一個完整的詳細的MANIFEST.MF文件信息
-
對於這種問題的解決辦法網絡上各種說法呀。小編只能用無語來形容,這個問題的最更本原因就如提示一樣,沒有主清單屬性。
所以,解決辦法很簡單。就是在MANIFEST.MF添加入口。
首先找到你的jar文件。
-
之后雙擊打開jar文件,你的電腦需要安裝有winrar。或者其他壓縮工具。
之后,在雙擊打開這個文件夾META-INF,
-
再選擇MANIFEST.MF文件,用記事本打開它。
-
現在看看文件中是否有Main-Class這樣一行文字,如果沒有的話那么添加一行。
Main-Class: gui 這里的gui是你的xxx.java文件編譯后的xxx.class文件稍微名稱。但是不要加.class后綴。
如果有的話,那么看下Main-Class: gui 這后面的名稱是否和你的class文件名稱一致。不一致請改回來。
注:這里Main-Class:要空一格寫上你的class文件名。如果你沒有空格的話,還是問題是解決不了的。
-
添加修改好后,關閉記事本。並保存。
-
這時候提示,是否更新。點擊是
-
到這里我們再次執行一切OK