gpt4 book ai didi

java - 在maven中下载兼容的依赖项

转载 作者:行者123 更新时间:2023-12-01 11:13:49 24 4
gpt4 key购买 nike

假设我在 pom 文件中使用 spring 4.0 并且我想使用 junit。在这种情况下,我如何声明 junit 依赖项来下载与给定 spring 版本兼容的版本,而不指定任何特定的 junit 版本。这可以是任何依赖项,我以 junit 为例。

最佳答案

在 Maven 中,有两种可能的匹配事物。首先是 Artifact 本身的依赖管理。 spring-core:4.2.0 定义它依赖于 commons-codec:1:10。因此,当您还想使用 commons-codec 时,您无需做任何事情,因为它已经在您的类路径中。它没有定义 JUnit,因此它不依赖于它,并且应该与所有版本兼容。

第二件事是 BOM pom 。这用于将大量依赖项打包在一起,并让用户选择他需要的版本,但 bom 已经为您定义了版本(因此它们应该兼容)。特别是 Spring 在仓库中有一些这样的 bom poms。

例如 spring-framework-bom ,它打包了与 spring 相关的所有内容,您可以在应用程序中使用它们,但您将定义需要的部分,而不必担心子依赖项的版本号。

例如,我想使用 spring 4.2,并且需要 webmvc、jdbc 以及用于 spring 测试的东西。所以将定义这个:

<dependencymanagement>
<dependencies>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-framework-bom</artifactid>
<type>pom</type>
<version>4.2.0.RELEASE</version>
<scope>import</scope>
</dependency>
<dependencies>
</dependencymanagement>
<dependencies>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-webmvc</artifactid>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-jdbc</artifactid>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-test</artifactid>
<scope>test</scope>
</dependency>
</dependencies>

关于java - 在maven中下载兼容的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32078611/

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