【问题标题】:"Could not find the Main class" when opening a .jar file打开 .jar 文件时“找不到主类”
【发布时间】:2013-12-24 01:05:31
【问题描述】:

当我尝试通过双击打开 .jar 文件时,我收到“找不到主类”的消息,但是在使用命令行打开它时它可以工作。

我这几天一直在寻找解决方案,我发现很多人都在问同样的问题,我发现的一些答案表明主类没有在 manifest.mf 中声明,但是我检查了它并声明,这是我的 manifest.mf

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.7.0_13-b20 (Oracle Corporation)
Class-Path: 
Main-Class: my_pack.Mainprog
[empty line]
[empty line]

我尝试运行 NetBeans 构建的 jar,以及用于 eclipse 的 fat jar 插件,但总是得到相同的错误。

【问题讨论】:

  • 你在用windows吗?
  • MANIFEST.MF 文件是否在META-INF 中?
  • jar/my_pack/Mainprog下的类吗?
  • 我用的是windows,manifest在meta-inf,类在my_pack下,主类的名字是MainProg
  • 当你说它从命令行运行时,你是在运行java -jar JAR_FILE吗?

标签: java eclipse netbeans jar


【解决方案1】:

我会做的是: 在您的 Netbeans 中创建一个虚拟项目并将其导出为可运行的 jar。然后获取您的清单和虚拟项目清单并进行比较。

清单确实是代码中的一个难题。它们的格式必须绝对正确。注意尾随空格、缺失/额外的空行等...

也许检查您正在使用的 Java 版本。确保您的命令行使用相同的命令行,例如环境变量中的设置。也许有双重声明......

哪个 java.exe 与 Windows 资源管理器中的 *.jar 文件相关联?试试这个 java.exe 从 CLI 运行你的 jar。那么同样的问题呢?

祝你好运!

【讨论】:

  • 这个清单是由 netbeans 创建的,我还检查了我制作的另一个项目和一些我下载并检查的 .jar 文件,它似乎格式正确,还有那些 .jar 文件我下载的作品,所以我认为清单有问题,但我确定到底是什么......
猜你喜欢
  • 2017-12-10
  • 2018-06-29
  • 1970-01-01
  • 2014-12-14
  • 2020-02-28
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多