首页 > 解决方案 > IntelliJ 如何强制降级依赖版本?

问题描述

我对 IntelliJ 中的 Maven 依赖项版本更改存在持久性问题。每当我尝试使用以前版本的库并更改 pom.xml 中的依赖项版本时,什么都没有发生。Maven 继续使用更新版本的库。

例如我想使用:

<dependency>
            <groupId>org.springframework.security.oauth.boot</groupId>
            <artifactId>spring-security-oauth2-autoconfigure</artifactId>
            <version>2.0.1.RELEASE</version>
 </dependency>

但是 Maven 存储库保存了 2.0.2 版本:

<dependency>
            <groupId>org.springframework.security.oauth.boot</groupId>
            <artifactId>spring-security-oauth2-autoconfigure</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>

所以对于我的项目版本 2.0.2.RELEASE 被使用。

我尝试先重新导入项目。然后我尝试“重新导入所有 Maven 项目”。然后我检查了Settings > Maven > Always update snapshots。我还尝试打开项目设置并从那里删除依赖项,但是在重新导入时,2.0.2 版本将被导入项目中。目前唯一可行的方法是从“.m2”文件夹中手动删除该文件夹。

不应该严格遵循库版本,不应该将 2.0.1 v 版本用于我的项目吗?

标签: mavenintellij-idea

解决方案


当您更改工件的版本时,maven 将使用相同的版本。它永远不会使用新版本或旧版本。由于您使用的是 intellij,因此您可以检查哪些 jar 文件及其使用的版本。请参阅下面的屏幕截图。您可以如下所示展开外部库,并且可以检查 pom.xml 中使用的依赖项。

在此处输入图像描述

此外,您还可以签入命令提示符。转到命令提示符并指向项目目录并键入以下命令。

mvn install dependency:copy-dependencies

您可以在目标文件夹中查看所有必需的依赖项以及版本信息。我建议您不要删除 .m2 目录,因为您可能需要再次下载所有依赖项。


推荐阅读