maven - Maven 上的依赖冲突

标签 maven dependencies maven-3

如果我有一些库在不同版本中具有其他依赖项,例如此示例:commons-logging-1.0.4.jar(因与 1.1.1 冲突而省略)和 commons-logging-1.1.1.jar。

关于此的最佳实践是什么,通知在相关依赖项中排除此冲突(通过标签)还是因为省略了 lib 而什么都不做?是否有任何问题不指定排除 POM 中的依赖项?

解释如何在 POM 中解决此问题的示例,我将使用以下说明来解决有关版本的内部冲突:

<dependency>
        <groupId>struts</groupId>
        <artifactId>struts</artifactId>
        <version>1.2.8</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
         </exclusions>
    </dependency>
</dependencies>

最佳答案

您需要配置一个 dependencyManagement 您的 [父] POM 中的部分。这将强制作为传递依赖项的 Artifact 成为指定版本。

关于maven - Maven 上的依赖冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278292/

相关文章:

c# - 如何正确指定依赖项的版本范围..?

Maven 依赖插件复制带有依赖项的 jar

spring-boot-maven-plugin build-info.properties

Java Spark 框架,部署失败

java - 使用 Spark SQL 时找不到获取 Spark Logging 类

jsf - 两个不同的 Maven Web 项目如何共享同一个 EJB

git - 我应该提交 Godeps/_workspace 还是 Godeps.json 就足够了?

mysql - zeppelin sql 解释器错误,无法获取 mysql 的依赖项 :mysql-connector-java:5. 1.38

Maven 从依赖 jar 中删除版本

spring - 无法创建 docker 访问对象