当前位置: 首页 > 知识库问答 >
问题:

Java JAR-没有主清单属性

孟海
2023-03-14

我知道jar文件应该有一个manifest.mf main-class:属性,以便有一个入口点并使jar文件可以运行。现在,我有了一个jar文件,我已经在下面构建了它。这些类都是卷饼包的一部分。我的MANIFEST.MF文件如下所示:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build
Main-Class: burrito.Main
jar -cvf Burrito.jar Customer.class Main.class Server
.class Store.class MANIFEST.MF
*added manifest
adding: Customer.class(in = 2800) (out= 1424)(deflated 49%)
adding: Main.class(in = 1147) (out= 757)(deflated 34%)
adding: Server.class(in = 3954) (out= 2094)(deflated 47%)
adding: Store.class(in = 3950) (out= 2190)(deflated 44%)
adding: MANIFEST.MF(in = 203) (out= 158)(deflated 22%)*
Burrito.jar

*java -jar Burrito.jar
no main manifest attribute, in Burrito.jar*
java -cp Burrito.jar burrito.Main
java -cp Burrito.jar Main

共有1个答案

景成和
2023-03-14

你想要这样的东西:

jar -cvfm Burrito.jar MANIFEST.MF burrito/Customer.class burrito/Main.class burrito/Server.class burrito/Store.class

选项后面的第一个参数对应于F标志(要创建的文件),第二个参数对应于M标志(清单文件),所有其他参数都是要添加到JAR中的文件。您必须确保JAR中的文件夹结构与Java包匹配,因此如果burrito.main是类,那么JAR中需要burrito/main.class,其他类也是如此。

 类似资料:
  • 我正在用Gradle构建一个JAR文件。当我尝试运行它时,我得到了错误 RxJavaD中没有主清单属性emo.jar 我试图操纵清单属性,但我想我忘记向它添加依赖项或其他东西了。我到底做错了什么?

  • 问题内容: 运行基于Gradle构建的JAR文件时遇到的错误让我有点发疯。错误显示为“ RxJavaDemo.jar中没有主清单属性”,我尝试操纵Manifest属性,但我想我忘记在其中添加依赖项或其他内容。我到底在做什么错? 问题答案: 尝试更改清单属性,例如: 然后只需更改为(您的Main类具有main方法)。在这种情况下,您可以在清单中创建一个指向此类的属性,然后运行一个jar。

  • 我得到以下错误,而Spring引导罐在CI环境 奇怪的是,它没有在我的本地奴隶或詹金斯奴隶中给出问题。一切都很好。 当我将jar上传到Nexus artifactory并将其下载到我的CI环境中时,它面临问题。 建筑罐子使用 我的gradle.build档案 没有白费的文章1。没有主清单属性2。http://www.vogella.com/tutorials/Gradle/article.html

  • 我正在尝试运行由maven shade插件创建的jar。我正在以以下方式配置主类: 编辑:我使用jar tf app.jar检查了jar的内容,看到了一个manifest.mf文件。但它没有main类的条目。我如何确保jar中的清单文件中有这个条目,以便在shade插件配置中添加它?

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

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