Ham*_*ari 6 java jar maven maven-shade-plugin
我想使用 Maven Shadow 创建一个着色 jar,但我也想仅在着色 jar 的情况下包含特殊依赖项(而不是在我的项目的正常编译依赖项中)。我该怎么办?
根据我的理解,包含/排除只是白名单/黑名单,因此我无法明确强制包含未包含在实际依赖项列表中的内容。
对于更多上下文,我有一个 JAR 依赖项,其中包含我只想包含在我的阴影工件之一中的资源,但将该 jar 放在类路径上否则会导致错误。
需要明确的是,我希望在一次调用中生成一个带有附加依赖项的阴影 jar 和一个没有它的普通 jar mvn package。
尝试使用配置文件,并仅在该配置文件中包含您的依赖项和阴影。例如:
<profiles>
<profile>
<id>shadeProfile</id>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>some-artifact</artifactId>
<version>1.23</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedClassifierName>shaded</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
现在,当您运行时,mvn -PshadeProfile package它将将该工件包含在着色构建中,并使用shaded新工件的分类器。这样,您的构建就可以生成没有问题资源的未着色 JAR,以及包含该资源的着色 JAR,只需打开配置文件即可。
依赖于此的其他项目可以根据需要依赖于着色或未着色的工件,因为您正在使用分类器来生成两者。
| 归档时间: |
|
| 查看次数: |
2612 次 |
| 最近记录: |