當我使用maven創建jar文件並使用具有分類器的配置文件時,陰影jar文件中沒有名稱中的分類器。maven shade插件似乎不使用分類器名稱
Maven的版本:阿帕奇Maven的3.2.5
這裏是一個配置文件:
<profile>
<id>external</id>
<properties>
<envClassifier>external</envClassifier>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<configuration>
<classifier>external</classifier>
</configuration>
<id>external-package</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
然而,正如我預期的(你可以看到大陰影罐子目標的jar文件沒有命名@ 111MB不具有 '外部' 的分類名:
- 363 KB原始myjar這一-0.1-SNAPSHOT.jar
- 111 MB myjar這一-0.1-SN APSHOT.jar
- 362 KB myjar這一-0.1-快照external.jar
這裏是我的陰影配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin.version}</version>
<configuration>
<createDependencyReducedPom>true
</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
---removed
</configuration>
</execution>
</executions>
</plugin>
我可以用shadedArtifactId強制輸出文件的名稱,但它似乎不應該需要。
任何想法?
謝謝
你確定這實際安裝並部署陰影的JAR與所需的分類器? AFAIK,'finalName'不會影響'groupId:artifactId:packaging:classifier:version',在這個版本下你的文件將被安裝在本地存儲庫或部署到遠程存儲庫。因此,其他Maven構建將無法通過「external」分類器來找到它。仔細查看'install:install'的輸出以查看我的懷疑是否正確。希望這可以幫助。 –