尝试运行 jar 文件时没有主要清单属性

Posted

技术标签:

【中文标题】尝试运行 jar 文件时没有主要清单属性【英文标题】:no main manifest attribute, when trying to run a jar file 【发布时间】:2021-07-14 05:43:14 【问题描述】:

我正在尝试运行这个 Java GUI 应用程序,但我不确定如何让它运行。该项目位于:https://gitee.com/gangshushu/v7/tree/master/admon_gui/one-jar. 我最初的尝试是:

java -jar one-jar-ant-task-0.97.jar

但我最终得到了错误:

没有主清单属性,在 one-jar-ant-task-0.97.jar 中

四处搜索,Failing to run jar file from command line: “no main manifest attribute”,我最终跑了:

java -cp one-jar-ant-task-0.97.jar Main

但我最终得到另一个错误消息:

错误:无法找到或加载主类 Main 引起:java.lang.ClassNotFoundException: Main

四处搜索给了我一些信息过载:What does "Could not find or load main class" mean?

如何运行这个 Java 程序?这是我第一次尝试运行 jar 文件,我有点卡住了。 我是否试图以错误的方式运行 Java 程序?

【问题讨论】:

这能回答你的问题吗? Can't execute jar- file: "no main manifest attribute" 从名字上看,它似乎是一个 ant 任务,从 Ant 构建脚本运行,它不是一个可执行程序。我不清楚你为什么认为这是一个可执行程序。 【参考方案1】:

您的主类在一个包中,您需要指定在哪个包中找到您的主类。尝试以下命令行: java -cp one-jar-ant-task-0.97.jar com.beegfs.admon.gui.program.Main

【讨论】:

是否有主类所在的默认位置?运行命令导致Error: Could not find or load main class com.beegfs.admon.gui.program.Main Caused by: java.lang.ClassNotFoundException: com.beegfs.admon.gui.program.Main 这是您尝试运行的主要课程吗?你的主类是否打包在 Jar 中?如果您需要检查,请将您的 jar 重命名为 zip 并使用 zip 工具打开。 无需重命名文件并使用 zip 工具。 jar 工具还可以列出 JAR 文件的内容。顺便说一句,WinRAR 还可以显示 JAR 文件的内容,而无需重命名文件。 我解压了,好像没有主文件。虽然它确实有其他 java 文件

以上是关于尝试运行 jar 文件时没有主要清单属性的主要内容,如果未能解决你的问题,请参考以下文章

使用 Intellij 2016 创建 Jar - 没有主要清单属性

无法运行 docker 映像 - app.jar 中没有主要清单属性 [重复]

Gradle - 没有主要清单属性

在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性

Java jar - 没有主要清单属性

Jacob.jar 运行报错,提示没有主属性清单是为啥?