如何升级所有 spring 依赖项?

How to upgrade ALL the spring dependency?

我有一个基于 spring-webmvc 的 Web 应用程序。它使用了我项目中使用的 spring 版本不支持的 org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer

我项目的 spring 依赖如下所示:

我想将所有 spring 依赖项从 3.1.1 升级到 4.1.2。怎么做?

您应该从 pom.xml 内的 spring 版本的硬编码版本移动到 属性,例如

在您的属性中

 <springframework.version>4.0.2.RELEASE</springframework.version>

在你的依赖项中

<!-- spring -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${springframework.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${springframework.version}</version>
</dependency>
<!-- spring security -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>${springframework.security.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>${springframework.security.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>${springframework.security.version}</version>
</dependency>

使用此设置很容易迁移版本,列出的 deps 只是 copy/paste,不要想当然,使用你需要的

您可以像这样全局更新依赖关系:

<properties>
        <spring.version>4.1.2.RELEASE</spring.version>
</properties>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

使用这个全局依赖版本管理,可以避免一些version compatibility exception.

由于您使用的是 Maven,因此您的 pom 依赖项可能看起来像

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-beans</artifactId>
  <version>3.1.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>3.1.1.RELEASE</version>
</dependency>
...

您可以将“3.1.1.RELEASE”替换为 ${spring-version},并将以下内容添加到您的 pom 文件

<properties>
  <spring-version>4.1.2</spring-version>
</properties>

这将使更改所有 spring 依赖项的版本变得更加容易

如果你使用maven构建工具,那么将spring 3升级到spring 4非常简单你只需在属性xml标签中打开pom.xml文件即可将版本 3.x.x 更改为 4。例如:

<org.springframework-version>3.0.2.RELEASE</org.springframework-version>

<org.springframework-version>4.0.2.RELEASE</org.springframework-version>