我一直使用 Eclipse 的 Export -> Runnable jar 选项并且它工作得很好,但今天似乎我创建的所有 Runnable jar 在我运行它们时都会产生以下错误: (编辑:通过双击文件运行它们。)
Java 虚拟机启动器
找不到主类:(类)。程序将退出。
过去两个小时我已经尝试了所有方法,但仍然无法正常工作。
- 我仍然可以运行我过去创建的 jar,而无需 问题。
- list 文件看起来和那些 jar 里的一模一样
那个工作和所有
.class
文件似乎都到位了...... - 我已经尝试使用
Package required libraries into generated jar
进行导出,但文件仍然无法正常工作。 虽然没有显示错误 - 双击文件没有任何反应。
编辑:通过 cmd
运行 jar 文件效果很好,但只需双击它就会产生此错误。 (自吹自擂)
编辑 2: 来自有效 jar 的 list 文件的内容:(显然它们是相同的,只是想避免混淆。)
Manifest-Version: 1.0
Class-Path: .
Main-Class: defender.DefenderComponent (+ two empty lines afterwards)
以及来自不起作用的 jar 的 list 文件的内容:(直接打开文件时)
Manifest-Version: 1.0
Class-Path: .
Main-Class: pixel.Entry (+ two empty lines afterwards)
确认两个主要类文件位于各自的位置。
最佳答案
导出 jar 文件时,指定哪个是主类很重要。您可以在 Eclipse 向导中执行此操作。要进入此屏幕,您需要简单地导出为 jar 而不是 Runnable jar。
找出错误的另一种选择是尝试打开命令提示符(在 Windows 中)或终端(在 linux/mac 中)并输入此命令 java -jar your_jar.jar 。这将显示有关正在发生的事情的详细错误。
由于您的 jar 在通过命令提示符启动时可以正常工作,因此罪魁祸首是 Windows 中默认打开 .jar 扩展名的程序。为避免这种情况,您可能必须右键单击 jar 并尝试使用与您从命令提示符运行的 java 版本兼容的 jar 可执行文件打开。
关于java - 生成的 Runnable jar : Could not find the main class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629412/