java - Maven 生成的 jar 文件中的 MANIFEST.MF 中缺少 Main-Class 属性

标签 java maven jar m2e manifest.mf

我目前正在 Eclipse (m2e-Plugin) 中试验 Maven,并尝试构建和运行 Hello World 示例项目。但是,当启动生成的 jar 时,没有任何反应。我检查了 MANIFEST.MF 并注意到 Main-Class 属性丢失了。添加属性后,jar就可以启动了。

为什么Maven不添加这个属性?

最佳答案

看看这个链接: https://maven.apache.org/shared/maven-archiver/examples/classpath.html#aAdd 您可以在那里找到如何配置 Maven 项目来运行特定的类。您必须添加定义了 mainClass 的 maven-jar-plugin 配置。

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    ...
    <configuration>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
          <mainClass>fully.qualified.MainClass</mainClass>
        </manifest>
      </archive>
    </configuration>
    ...
  </plugin>
</plugins>

关于java - Maven 生成的 jar 文件中的 MANIFEST.MF 中缺少 Main-Class 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21968104/

相关文章:

Java - getManifest() 问题 : Not first entry

java - 从 jar 文件更改类的代码

Java 代码未打印到 Eclipse 中的控制台

java - Eclipse中转换maven项目报错

java - 是否可以使用 RxJava 在非主线程中调用 “onSensorChanged” 方法?

java - java web 服务的数据文件的放置

eclipse - 添加powermock时Maven缺少 Artifact

java - 将 servlet 移动到 jar 文件以用作库

Java 显示无效字符?

java - java中如何在字符列表中添加值并在下一个值为空时停止添加