我正在java中创建一个程序,它只是一个基于J的基本gui程序。当我使用播放按钮在eclipse中编译它时,它运行完美,没有任何错误或错误。
但是当我导出它并运行它时,它只返回一个错误,说主要类无法找到,应该没有问题,因为我已正确设置启动配置,由于某种原因,这只发生在im在java 1.7中编程,当我在1.6中编写时,它编译并运行完美。即使我出口它。
我如何导出
我只是通过打开jar文件
来运行它在我的MANIFEST.MF文件中:
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Rsrc-Main-Class: net.undeadminecraft.wgh.main.Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
我收到错误消息
我的包裹(如果有帮助)
答案 0 :(得分:2)
在控制台(java -jar yourjar.jar
)上运行JAR并发布完整的堆栈跟踪。同时发布java -version
和javac -J-version
的输出。
我的猜测是你的默认Java是Java6,如果用Java7构建,你使用的是新的Java7类文件格式,或者你的主类包含对Java6中不存在的类的引用(在验证的地方)不能推迟)。
编辑:使用Process Explorer或其他显示exe路径且可以查找窗口进程的任务管理器,并显示哪个javaw.exe
确切地显示了该错误消息。然后尝试同一目录中的java.exe
以重现错误消息。或卸载所有JRE(JDK可能会保留)但只有一个,因此很清楚哪个正在运行。
答案 1 :(得分:1)
我建议将主类设置为MANIFEST.MF中的“Main-Class”:
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Main-Class: net.undeadminecraft.wgh.main.Main
可以解决您的问题,因为您在那里的主要类是Eclipse的内部类。
答案 2 :(得分:0)
您的主要方法签名不正确。请确认它如下所示:
public static void main(String args[]){
}
你可能会遗漏一些东西。否则请告诉我们您的方法声明。