相关疑难解决方法(0)

Maven:如何覆盖库添加的依赖项

这是我的一般问题:

我的项目P取决于A,它取决于B,它取决于C,这取决于D的1.0.1版本.

D版本1.0.1存在问题,我想强制使用另一个模块.我不知道如何在我的项目的POM中声明这个,因为我没有直接添加对D的依赖.这是C声明对D的依赖.

重要说明:在这种情况下,不仅更改了版本,还更改了组和工件.因此,这不仅仅是覆盖依赖项的版本,而是排除模块并包含另一个模块.

在具体的情况下,D是StAX,其1.0.1有一个bug.根据bug中的注释,"通过用stax-api-1.0-2(maven GroupId = javax.xml.stream)替换stax-api-1.0.1(maven GroupId = stax)来解决问题"所以我我正在努力.

因此,D = stax:stax-api:jar:1.0.1和C = org.apache.xmlbeans:xmlbeans:jar:2.3.0

我正在使用maven 2.0.9以防万一.

输出mvn依赖:tree"

mvn dependency:tree
[..snip..]
[INFO] +- org.apache.poi:poi-ooxml:jar:3.6:compile
[INFO] |  +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile
[INFO] |  |  +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
[INFO] |  |  |  \- stax:stax-api:jar:1.0.1:compile
Run Code Online (Sandbox Code Playgroud)

在我的项目的POM中,我对"A"有以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.6</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

提前致谢.

dependencies maven-2

106
推荐指数
5
解决办法
12万
查看次数

标签 统计

dependencies ×1

maven-2 ×1