创建jar文件的问题

时间:2012-03-30 16:14:27

标签: java jar

我通常使用Eclipse来完成所有的java编程,当我用它来测试我的程序时,它运行得很好。到目前为止没有任何问题。当我尝试创建可执行jar文件时,我的问题就出现了。如果我使用Eclipse来制作它或通过命令执行它并不重要,我总是会遇到相同的错误“无法找到主要类:主要”我已经按照它上面的书面指南甚至是一些YouTube视频一个直观的例子。为什么它无法找到主类?

1 个答案:

答案 0 :(得分: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类应位于与包结构匹配的子目录中。你的Main类有包吗?如果没有,请添加

package test;

到Main.java的顶部,然后确保Main.class文件在jar中创建为/test/main.class。然后,MANIFEST.MF可以reference to your Main.class application's entry point,如下所示:

  

Main-Class:此属性的值定义相对路径   启动程序将在启动时加载的主应用程序类   时间。该值不得附加.class扩展名   班级名称。

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