簡體   English   中英

maven-jar-plugin 不生成清單

[英]maven-jar-plugin does not generate MANIFEST

我無法使用 maven 生成 MANIFEST 文件...我嘗試了所有方法,但沒有找到解決方案。 jar 文件生成正確,但缺少清單。

這是我的 pom.xml 的一部分:

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <useDefaultManifestFile> true </useDefaultManifestFile>
                <!-- archive> <manifest> <mainClass>net.menago.core.main.Menago</mainClass> 
                    </manifest> 
                </archive -->
                <!-- archive>
                    <index>true</index>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                    <manifestEntries>
                        <mode>development</mode>
                        <url>${project.url}</url>
                        <key>value</key>
                    </manifestEntries>
                </archive-->
            </configuration>
        </plugin>

如您所見,有一些注釋代碼也不起作用。 我試過 mvn clean install, compile, package ...

感謝您的任何建議!

檢查您的包裝元素是否設置了價值包

<packaging>bundle</packaging>

改用這個:

<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.9.0</version>
    <configuration>
      <source>${java.version}</source>
      <target>${java.version}</target>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
</plugins>

可能這會奏效

<configuration> 
                    <archive> 
                      <manifest> <mainClass>net.menago.core.main.Menago</mainClass>                                  
                        <index>true</index>                  
                            <addClasspath>true</addClasspath>                   
                        <manifestEntries>
                            <mode>development</mode>
                            <url>${project.url}</url>
                            <key>value</key>
                        </manifestEntries>
                      </manifest>
                    </archive>
      </configuration>

顯然,由於評論,您粘貼的部分將不起作用,因此我假設您已經發布了您必須展示的內容以顯示您一直在嘗試使用的內容。

<manifestEntries>的正確用法是這樣的:

      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestEntries>
                        <yourKey>your value</yourKey>
                    </manifestEntries>
                </archive>
            </configuration>
      </plugin>

這與您同時使用將產生標准輸出的<useDefaultManifestFile>不一致。

暫無
暫無

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

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