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