我有一个使用程序集插件的 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 中声明的依赖项而不是父项?我用谷歌搜索过,但到目前为止都是空的......