无法加载Main-class Manifest属性

时间:2012-02-27 08:40:02

标签: java jar jvm executable-jar jvm-crash

我在执行编译的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。

3 个答案:

答案 0 :(得分:3)

为您的班级使用套餐。确保你的类看起来像这样(注意包和公共类):

package com.foo;

public class Main {

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

之后您可以指定Main-Class

Main-Class: com.foo.Main

答案 1 :(得分:2)

正如adarshr所说,JVM无法找到该类,因为它需要Manifest文件的Main-Class属性中的完全限定名称。

实际上,没有必要指定主文件。您可以将JAR文件作为类路径,并提供类的完全限定名称以使用java运行它。

假设您的JAR是myJar.jar,而完全限定的主文件是com.user.Main。然后从命令行转到具有JAR文件的目录,并提供: -

java -classpath myJar.jar com.user.Main

这将运行Main类。您还需要在类路径中提供在Main类中使用(导入)的类(或JAR)。

有关详细信息,请参阅this链接。

答案 2 :(得分:0)

当我使用JDK(在我的情况下是1.7)开发项目并且安装的JRE是旧版本(1.6)时,我遇到了这个错误。尝试更新您的JRE或更改所使用的JDK(如果可能)以匹配您的JRE版本。