gpt4 book ai didi

java - maven 依赖插件忽略依赖版本?

转载 作者:搜寻专家 更新时间:2023-11-01 02:21:09 25 4
gpt4 key购买 nike

<分区>

在我看来,maven 依赖插件在计算依赖列表时表现不佳。

假设这 3 个项目:

base1:

<?xml version="1.0" encoding="UTF-8"?>                                                                                                                            
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>base1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
</project>

base2:

<?xml version="1.0" encoding="UTF-8"?>                                                                                                                            
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>base2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>

合并:

<?xml version="1.0" encoding="UTF-8"?>                                                                                                                            
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>combined</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>base1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mygroup</groupId>
<artifactId>base2</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

base1 和 base2 都依赖于 commons-lang,但每个依赖于不同的版本!组合取决于 base1 和 base2。

当在组合上调用 mvn dependency:list 时,我希望在版本 2.3 和 2.6 中看到 base1、base2 和 commons-lang,因为它们都被使用了。然而实际输出是:

[INFO] The following files have been resolved:
[INFO] commons-lang:commons-lang:jar:2.3:compile
[INFO] mygroup:base1:jar:1.0-SNAPSHOT:compile
[INFO] mygroup:base2:jar:1.0-SNAPSHOT:compile

它甚至不使用版本号最高的通用语言,而只使用它首先找到的那个。

我怎样才能避免这种情况?我需要所有依赖项。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com