当前位置: 首页 > 知识库问答 >
问题:

如何完全覆盖spring boot starter的版本?

仲鸿风
2023-03-14

我的父模块中的Spring Boot版本是v2.1.17。发布

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.1.17.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

然后我在子模块中引入了spring boot starter安全性,指定的版本是2.4.4,它覆盖了父模块中的版本(v2.1.17版本)。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>2.4.4</version>
</dependency>

然后,我运行了mvn依赖:tree命令,发现子模块中spring-boot-starter-security的版本确实是2.4.4,但spring-boot-starter-security中引用的artifactId(如spring-aop)的版本仍然是5.1. x版本,对应v2.1.17。spring-boot-starter-security的RELEASE版本,而不是5.3. x版本,对应v2.4.4版本的spring-boot-starter-Security

共有1个答案

夏何平
2023-03-14

嗨请检查这个例子

<properties>
    <dependencies.version>2.1.17.RELEASE</dependencies.version>
    <security.version>2.4.4</security.version>
</properties>
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>${dependencies.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>${security.version}</version>
</dependency>
  </dependencies>
</dependencyManagement>
 类似资料:
  • 嗨,我有一个maven项目,需要在集成测试开始之前将2个WAR部署到一个jetty环境中。在正常情况下,这些WAR不是项目的依赖项,但它们需要分开部署,以便集成测试发挥作用。 有人知道如何在只下载依赖项而不做任何更多事情的war上添加依赖项吗?

  • 问题内容: 我想使用NPM软件包。它具有各种依赖性。依赖图的一部分如下所示: 不幸的是,此版本中存在一个错误,导致该错误无法在Mac OS X上正确安装。此问题已在最新版本中修复。 如何获得更新版本的? 一些其他上下文: 明确要求版本为,明确要求版本为。 首先添加到我程序包的依赖项没有任何作用;这两个版本均已安装,并且仍使用旧版本 问题答案: 您可以使用npm收缩包装功能,以覆盖任何依赖性或子依赖

  • 问题内容: 如何使dict的子类尽可能“完美” ?最终目标是要有一个简单的字典,其中的键是小写的。 看来应该有一些微小的原语可以重写以完成此工作,但是根据我的所有研究和尝试,似乎并非如此: 如果我覆盖,则get/ set不起作用。如何使它们工作?当然,我不需要单独实施它们吗? 我是否在阻止酸洗,我需要实施等吗? 我是否需要以及? 我应该只使用(似乎不应该使用)吗?如果是这样,怎么办?这些文档并不完

  • 我试图获得基于gradle的android项目的覆盖面。 所以我为我的应用程序添加版本。gradle 和 内部调试。 这工作正常。我可以获取使用或的报告。 问题是调试版本通常被开发人员用来运行和测试应用程序。因此,在构建中启用代码覆盖可能会降低构建的速度,这种用法可能不需要。 所以我想我会添加新的配置 不幸的是,没有和不运行覆盖类型。 当我使用dex2jar反编译apk并使用jd-gui查看内部时

  • 问题内容: 我正在尝试Backbone.js,而我正在尝试的事情之一就是调用远程API,因此,据我了解的文档资料,我需要能够覆盖Backbone.sync 。 在文档本身中没有如何执行此操作的示例,并且似乎没有用于Backbone的google组…有人可以指出执行此操作的示例吗? 问题答案: 看看这个带注释的源示例,在该示例中,它们被本地存储替代项覆盖 基本上,Backbone.sync应该是一个

  • 问题内容: 我正在使用Oracle的OEPE发行版(包括Weblogic服务器10.3.5)开发Web应用程序。WLS包含自己的Spring版本,该版本似乎是2.5.6.SEC01。但是,我们正在尝试使用3.1发行版的Spring和Spring Security功能。 Maven POM将Spring Version定义为属性3.1.1.RELEASE(该属性已插入各节中,即: 我在weblogi