我公司的基础设施发生了变化,迫使从Maven 2.2.1升级到maven 3.0.5
我的项目结构是一个包含几个模块的EAR。 EAR的依赖项存储在类路径中的lib
文件夹中,所有模块都可以使用它。当我们有一个由多个模块使用的依赖项时,它被添加为范围compile
中的EAR依赖项和范围provided
中需要它的模块 - 这样文件不会加倍。
升级后,范围provided
的依赖关系将被区别对待。它们的传递依赖项被添加到其模块的lib文件夹中。这会导致冲突。
经过一些研究后我找到了一个建议的解决方案 - 在<excludeScope>provided</excludeScope>
期间将maven-dependency-plugin配置为<goal>copy-dependencies</goal>
,但它没有任何改变 - 瞬态依赖项被添加到模块'lib
文件夹无论如何。
我是否理解错误的问题? maven 2和3之间的变化导致了什么?
此致 扬
麻烦模块中的插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeScope>provided</excludeScope>
</configuration>
</execution>
</executions>
</plugin>