java - 生成的 Runnable jar : Could not find the main class

标签 java eclipse

我一直使用 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。

enter image description here

找出错误的另一种选择是尝试打开命令提示符(在 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/

相关文章:

java - IBM Websphere 支持 SQL Server 2008

java - .readLine()/readLine 的替代方案仅返回列表

eclipse - 如何从Juno卸载Egit功能?

android - 在 Fragment 上显示来自 url 的图像

eclipse - 将 eclipse(不是 EE)与 tomcat 7 集成

java - 在Java中创建给定大小的文件

java - 如何检查m3u8直播是否还活着?

java - 限制 Jetty 上 Solr 的内存使用

java - 通过 JFilechooser 选择一个目录并将 Itext Report 以 .pdf 格式保存到 Java 中的该目录中

java - 如何找到正则表达式模式而不将其包含在结果中?