java – 是否可以在同一个pom.xml中重新定义导入的Maven依赖项?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 是否可以在同一个pom.xml中重新定义导入的Maven依赖项?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1328字,纯文字阅读大概需要2分钟。
内容图文
我正在应用程序服务器环境中工作,我正在使用bom来收集依赖项信息,如下所示:
<dependency>
<groupId>org.jboss.bom.eap</groupId>
<artifactId>jboss-javaee-6.0-with-security</artifactId>
<version>${jboss.bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
但是,这个特定的bom将依赖项指定为“编译”,我希望将所有项目的作用域设置为“已提供”.但是,当我尝试覆盖同一个pom中的范围时,我将导入依赖关系,如下所示:
<dependency>
<groupId>org.picketlink</groupId>
<artifactId>picketlink-federation</artifactId>
<scope>provided</scope>
</dependency>
Maven抱怨它找不到版本,或者如果我使用bom中指定的version属性,则无法找到该属性.
我很确定这是同一个pom中导入覆盖的问题,因为我可以在子项目中覆盖范围就好了.有没有办法在一个pom中导入和覆盖范围?
*上面的所有代码段都来自同一部分.
解决方法:
这肯定是可行的:
<dependencyManagement>
...
<dependency>
<groupId>org.jboss.bom.eap</groupId>
<artifactId>jboss-javaee-6.0-with-security</artifactId>
<version>${jboss.bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencyManagement>
<dependencies>
...
<dependency>
<groupId>org.picketlink</groupId>
<artifactId>picketlink-federation</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
请记住,您需要在< dependencies>中重新定义范围,而不是在< dependencyManagement>中重新定义范围.部分.
如果使用继承,则范围覆盖当然会传播到任何子POM.
内容总结
以上是互联网集市为您收集整理的java – 是否可以在同一个pom.xml中重新定义导入的Maven依赖项?全部内容,希望文章能够帮你解决java – 是否可以在同一个pom.xml中重新定义导入的Maven依赖项?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。