2012-03-30 100 views
0

我通常使用Eclipse来完成我所有的Java编程,当我使用它来测试我的程序时效果很好。到目前为止,没有任何问题。当我尝试创建可执行的jar文件时,我的问题即将到来。无论我使用Eclipse来制作还是通过命令执行它,我都会遇到同样的错误“无法找到主要类:主要”,我已经遵循了它的书面指南,甚至还有一些YouTube视频一个视觉例子。为什么它无法找到主课程?创建jar文件的问题

+2

请与MANIFEST.MF – 2012-03-30 16:15:59

+1

您使用创建的.jar确切的命令行什么是一起提供的JAR文件的结构?你的班级是否在一个包里? – Attila 2012-03-30 16:16:27

+0

一个典型的错误是忘记了“的Main-Class”属性 – JScoobyCed 2012-03-30 16:26:06

回答

1

试着改变你的清单文件名“MANIFEST.MF”

按照online specs for manifest files,它期望在特定位置的特定文件名。 jar工具处理位置,但是如果你给它'manifest.txt'它可能会保留这个名字,然后被jar加载机制忽略。

  The META-INF directory 

     The following files/directories in the META-INF directory are recognized and 
     interpreted by the Java 2 Platform to configure applications, extensions, 
     class loaders and services: 

    MANIFEST.MF 
    The manifest file that is used to define extension and package related data. 

尝试letting Eclipse generate the JAR file。 Main类应该位于与包结构匹配的子目录中。你的主类有一个包吗?如果没有,添加

package test;

到Main.java的顶部,那么请确保Main.class文件被作为罐内/test/main.class创建。然后,MANIFEST.MF可以具有reference to your Main.classapplication's entry point如下:

主类:此属性的值定义了启动器将在启动 时加载的 主应用程序类的相对路径。该值不能将.class扩展名附加到 类名称中。

[编辑]
请张贴以下:
1)directory structure of the generated JAR(使用jar tf foo.jar
2)清单的内容从/META-INF/MANIFEST.MF
3)的名称和包类与静态main()方法

+0

我也试过这个。现在我试图使命令,Eclipse和净豆类,其中没有一个似乎能够找到主类可执行的JAR文件。 – 2012-03-30 17:59:57