首页 > 解决方案 > Maven 未在 MANIFEST.MF 中生成主类条目

问题描述

我正在尝试用 Java 构建一个项目,如果双击执行该项目应该运行。那没有用,所以我用 cmd 进行了调试,清单中没有主类条目。

所以我添加了这个答案的内容(被我的应用程序采用):Missing Main-Class attibute in MANIFEST.MF in Maven generated jar file

我使用 jenkins 作为构建平台,并尝试使用 mvn clean install 和 mvn clean package 执行。

pom.xml:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>de.progii</groupId>
  <artifactId>pong</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>pong</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>de.progii.pong.App</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

标签: javamavenmaven-jar-plugin

解决方案


我部分解决了这个问题。问题不是 maven jar 插件,而是它的 jenkins。它只是归档错误的构建。可供下载的工件似乎在 maven jar 插件完成工作之前已存档。如果我使用 sftp 连接到工作空间/目标文件夹,我可以在 jenkins 下载页面下载与工件同名的工件,但执行成功!

编辑

随着对 Jenkins 的最新更新,它可以正常工作


推荐阅读