【发布时间】:2016-04-17 04:49:14
【问题描述】:
我有一个使用程序集插件的 maven 项目,其中包括项目依赖项。
其中一个依赖项在 pom 中声明为:
<dependency>
<groupId>com.oracle.sqlj</groupId>
<artifactId>runtime12</artifactId>
<version>11.1.0.0.0</version>
<scope>compile</scope>
</dependency>
项目的 pom 也有一个父 pom,必须包含,但我无法更改。在那里,是:
<dependency>
<groupId>com.oracle.sqlj</groupId>
<artifactId>runtime12</artifactId>
<version>10.1.0.2.0</version>
<scope>compile</scope>
</dependency>
组装插件的 xml 中的依赖声明如下:
<dependencySets>
<dependencySet>
<outputDirectory>etc/lib</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<!-- INCLUDE ALL DEPENDENCIES -->
<includes></includes>
</dependencySet>
</dependencySets>
在运行组装阶段时,会打包依赖项的 10.1.0.2.0 版本,而不是 11.1.0.0.0,我希望它会覆盖它,因为它实际上是在之前的编译阶段执行的大会。
我在这里犯错了吗?或者如果没有,有什么办法可以强制装配阶段更喜欢在子 pom 中声明的依赖项而不是父项?我用谷歌搜索过,但到目前为止都是空的......
【问题讨论】:
标签: maven dependencies pom.xml maven-assembly-plugin parent-pom