Maven 不使用 maven jar 插件生成 MANIFEST 文件

Maven does not generate a MANIFEST file with maven jar plugin

我尝试用 maven (mvn package) 生成一个 .zip 文件,并且想在 zip 中也有一个 MANIFEST 文件。 jar 文件本身确实有效。 我试图用 maven jar 插件生成一个 MANIFEST 文件,但它没有用。 我是否需要做其他事情来获取 MANIFEST 文件,或者是否足以使用此插件?父 pom(我展示的父 pom 的父)有 maven assembly 插件。 (我对 Maven 完全陌生)

pom.xml 父pom文件:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

pom.xml 模块文件:

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.6</version>
    <configuration>
      <archive>
        <manifest>
          <mainClass>org.jis.Main</mainClass>
          <addClasspath>true</addClasspath>
        </manifest>
      </archive>
    </configuration>
</plugin>
</plugins>

在你的情况下,maven 必须这样调用:

mvn clean package assembly:single

获得相同结果的另一种方法是修改您的 pom:

  <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> 
            <phase>package</phase> <!-- bind to the packaging phase -->
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
 </plugin>

然后 运行:

mvn clean package

参考: https://maven.apache.org/plugins/maven-assembly-plugin/usage.html

我遇到了同样的问题,我突然无法从 CLI 中 运行 jar,删除 <pluginManagement> 标签为我创建了清单。

我遇到了同样的问题,从 pom 文件中删除标签帮助了我