当前位置: 首页 > 面试题库 >

为什么无法从JAR文件加载主类清单属性?

朱睿
2023-03-14
问题内容

我以这种方式创建了一个JAR文件jar cf jar-file input-files。现在,我正在尝试运行它。运行它不起作用(找不到jre命令):

jre -cp app.jar MainClass

这也不起作用:

java -jar main.jar

(无法从main.jar加载Main-Class清单属性)。

我也发现

要运行打包为JAR文件的应用程序(1.2版-需要Main-Class清单头)

什么是“ Main-Class清单标头”?我如何创建它以及在哪里放置它?


问题答案:

我不确定我是否相信您的症状:

  • 如果jre找不到该命令,则运行jre -cp app.jar应给出相同的错误
  • 只需将JAR文件添加到类路径中,就不会给出您看到的错误
    如果您执行以下操作,希望您会看到此错误:
java -jar app.jar

Main-Class标头必须位于JAR文件的清单中-这是有关其他必需库之类的内容的元数据。有关如何创建适当清单的信息,请参见Sun文档。基本上,您需要创建一个包含以下内容的文本文件:

Main-Class: MainClass

然后跑

jar cfm app.jar manifest.txt *.class


 类似资料:
  • 首先,我看了关于这个话题的类似问题。我还没有找到解决办法。 我想把我一直在做的一个小项目分发给朋友和家人。问题是我不能指望他们都能跑。类文件。因此,我正在努力创造一个新的世界。jar文件,我可以将其转换为。exe文件。然而,我遇到了一个问题。它抱怨缺少主清单属性。在谷歌搜索之后,我决定尝试一个小教程。我正在遵循教程(甚至下载了Hello.jar小文件),但仍然没有获得主清单属性。 当我运行Wind

  • 我对这个问题很困惑。在运行这段代码的前几次,它没有发生,但在那之后,我无法让它再次运行。它只有在使用我的Java代码下载后才会崩溃。我的代码从我的网站下载了一个jar文件,然后使用ProcessBuilder运行它。最初几次都很好,但我又运行了几次,它开始给我带来了好处 没有主清单属性,在。。。\AppData\Local\GDRQ\bin\launch\u gdbotbin。罐子 下面是我用来下

  • 我知道有很多像这样的题目,但我没有找到答案我的问题。我已经在IntelliJ中创建了JAR文件,并在项目结构中构建了工件。在Java文件夹中,我有一个包META-INF和manifest.mf: 那么我是否应该将它手动添加到IntelliJ中的JAR中呢? Edit:CrazyCoder给出了一个很好的说明,说明META-INF应该在resourse文件夹中,但是我的IntelliJ默认设置一开始

  • 我试图从控制台运行一个jar文件: 我得到了错误: 无法执行jar文件:“无主清单属性” 正如你所见,我实际上有一个主文件,它在eclipse中运行良好: 我需要做什么才能从命令行成功运行这个文件?

  • 我在Netbeans中创建了新的JFrame,我想将JFrame文件作为主类,但是当我试图在properties包run中更改它时,没有JFrame文件。 导航器无法检测到主类。我试图修复中的代码,但仍然无法加载主类。 另外,我没有向JFrame文件添加任何内容,默认代码仍然来自Netbean。怎么修? 我不知道这是否与此有关,我使用Netbeans 12.0和jdk 15

  • 我已经看了几个不同的线程,没有找到解决方案。我做了一个项目,使用java和Gradle从google sheets检索数据。我已经创建了一个工件,并通过IntelliJ构建了jar文件。当我尝试使用“java-jar filename.jar”通过终端运行jar时,我得到“no main manifest attribute,in filename.jar” My Manifest.mf位于mai