尝试使用配置文件,并仅在该配置文件中使用依赖项和阴影。例如:
<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>
现在,当您运行
mvn -PshadeProfilepackage它时,它将把工件作为阴影构建的一部分,并对
shaded新工件使用分类器。这样,您的构建只需打开配置文件即可生成没有问题的资源的未着色的JAR,以及具有该资源的着色的JAR。
依赖于此的其他项目可以视情况而取决于阴影或非阴影工件,因为您正在使用分类器来生成两者。



