如何在 Maven 中将 Spring Boot starter 依赖项更改为新版本?

问题描述 投票:0回答:1

由于存在漏洞,我需要将库的版本更新到最新版本。例如,我的 pom.xml 中有一个 starter(但它不仅可以与 starter 相关,还可以是与其他库相关的任何库):

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-example</artifactId>
</dependency>

它有 2 个我需要更新的库:library-a 和library-b。 对于第一个库,我在属性中设置了版本,并且它已在项目中更新:

<properties>
   <library-a.version>2.0</library-a.version>
</properties>

但是对于第二个库来说这种方式没有帮助。所以我排除了这个库并导入了更新的版本:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-example</artifactId>
            <exclusions>
                *<exclusion>
                    <groupId>library-b</groupId>
                    <artifactId>library-b</artifactId>
                </exclusion>
            </exclusions>*
        </dependency>
        <dependency>
            <groupId>library-b</groupId>
            <artifactId>library-b</artifactId>
            <version>**2.0**</version>
        </dependency>

这是更新库的正确方法吗(尤其是我担心library-b)?我可能面临哪些问题?我担心我的应用程序会因为这次替换而捕获一些错误。 单元测试已通过,应用程序可以在本地运行。

spring-boot maven pom.xml dependency-management
1个回答
0
投票

据我所知,当你想更新像你的library-b这样的临时依赖项时,你可以做你所做的事情或更新父级并希望他们已经更新了那里的版本。

如果您可以更新父级,可能会更好,但并不总能解决问题。

现在,您可能会遇到一些冲突版本,其中父级使用新版本中不存在的方法或类的瞬态依赖项。在这种情况下,除了向父级提交修复程序之外,您无能为力。

根据经验,如果库 b 更新只是次要版本或补丁(版本的第一个版本中没有更新),那么它应该可以正常工作。此外,如果它在本地工作并且测试正在通过,你应该没问题,但当然,这里没有“确定的事情”。

© www.soinside.com 2019 - 2024. All rights reserved.