我在多模块构建中使用maven-shade-plugin来生成带阴影的JAR。
一切都按预期工作,除了我的模块的SNAPSHOT依赖关系不会更新,除非我清理聚合项目。
pom.xml
|
+-a/pom.xml (a-1.0.0-SNAPSHOT.jar)
|
+-b/pom.xml (b-1.0.0-SNAPSHOT.jar)
|
+-aggregate/pom.xml (a_and_b-1.0.0-SNAPSHOT-jar)
在示例中,聚合项目构建着色jar。聚合项目将“b”列为依赖项,“b”列出“a”作为依赖项。如果我对“a”中的代码进行了更改并从父目录运行“mvn install”,则重建“a”,但着色的JAR不包含更新的“a”。
以前,我使用依赖项和程序集插件来创建胖jar文件。依赖插件使用overWriteIfNewer和overwriteSnapshots选项提供此行为。我可以做一个“mvn clean -pl aggregate; mvn install”,但想知道是否有一个类似的shade插件选项让我强制使用shade插件来引入更新的依赖项?
我使用的是maven-shade-plugin的apache-maven-3.3.9和2.4.3版。