2012-02-27 67 views
4

我在執行編譯的jar文件時遇到以下錯誤。我已經重新安裝了我的Java,但我的問題還沒有解決。未能加載主類清單屬性

Failed to load Main-class Manifest Attribute from 
D:\Tools\Lodable_Creation\dist\Lodable_Creation.jar 

目前由MANIFEST.MF文件的樣子。

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.1 
Created-By: 1.6.0-b105 (Sun Microsystems Inc.) 
Main-Class: main 
X-COMMENT: Main-Class will be added automatically by build 

我正在使用Netbeans 6.9.1 IDE。

+0

可能與http://stackoverflow.com/questions/2591516/why-its-failed-to-load-main-class-manifest-attribute-from-jar-file – Raghuram 2012-02-27 08:42:50

+0

那麼你的清單看起來像什麼?你有沒有試過*指定一個Main-class屬性? – 2012-02-27 08:44:05

+1

請用類似winzip/7zip的工具打開你的JAR,並在問題 – 2012-02-27 08:45:00

回答

3

爲你的班級使用一個軟件包。請確保您的類看起來是這樣的(注意包和公共類):

package com.foo; 

public class Main { 

    public static void main(String[] args) { 
    } 
} 

後,您可以指定Main-Class像這樣:

Main-Class: com.foo.Main 
2

由於adarshr建議,JVM不能找到該類,因爲它需要Manifest文件的Main-Class屬性中的完全限定名稱。

實際上,沒有必要指定主文件。您可以將您的JAR文件作爲您的類路徑,並給出該類的完全限定名稱以使用java運行它。

說你的JAR是myJar.jar,完全合格的主文件是com.user.Main。然後,在命令行,去哪個有你的JAR文件,並給該目錄: -

java -classpath myJar.jar com.user.Main 

,這將運行的主類。您還需要在類路徑中爲您的Main類中使用(導入)的類(或JAR)。

詳見this鏈接。

0

當我用JDK開發項目(1.7在我的情況下)並且安裝的JRE是舊版本(1.6)時,我遇到了這個錯誤。嘗試更新您的JRE或更改所用的JDK(如果可能),以匹配您的JRE版本。