强制Maven Shade插件在多模块构建中应用最新的SNAPSHOT依赖项

时间:2016-04-12 20:33:16

标签: maven maven-shade-plugin

我在多模块构建中使用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版。

0 个答案:

没有答案