簡體   English   中英

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

[英]Maven does not generate a MANIFEST file with maven jar plugin

我嘗試使用 maven(mvn 包)生成一個 .zip 文件,並希望在 zip 中也有一個 MANIFEST 文件。 jar 文件本身確實有效。 我嘗試使用 maven jar 插件生成 MANIFEST 文件,但它不起作用。 我是否必須做其他事情才能獲得 MANIFEST 文件,或者使用這個插件就足夠了? 父 pom(我展示的父級的父級)具有 maven 程序集插件。 (我對 Maven 完全陌生)

父 pom 的 pom.xml 文件:

<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 文件中刪除標簽對我有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM