首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在导入BOM pom时覆盖Spring Boot中的版本号?

如何在导入BOM pom时覆盖Spring Boot中的版本号?
EN

Stack Overflow用户
提问于 2017-09-29 01:57:52
回答 2查看 9.8K关注 0票数 8

如何覆盖Spring Boot导入的版本号,而无需在依赖项管理部分手动设置每个工件?

代码语言:javascript
复制
1.5.7.RELEASE
    2.9.1


    
        
            org.springframework.boot
            spring-boot-dependencies
            ${spring.boot.version}
            pom
            import
        
        
            com.fasterxml.jackson
            jackson-bom
            ${jackson.version}
            pom
            import

但是,当我运行

代码语言:javascript
复制
mvn dependency:tree "-Dincludes=com.fasterxml.jackson.*" -Dverbose

输出

代码语言:javascript
复制
[INFO] ------------------------------------------------------------------------
[INFO] Building dpt-domain-core 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ dpt-domain-core ---
[INFO] net.initech.dpt:dpt-domain-core:jar:1.0.0
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile
[INFO] |  +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile - omitted for duplicate)
[INFO] |  \- (com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile - omitted for duplicate)
[INFO] \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.8.10:compile
[INFO]    +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile - omitted for duplicate)
[INFO]    +- (com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile - omitted for duplicate)
[INFO]    \- (com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile - omitted for duplicate)

在哪里2.8.10的值是jackson.version那个org.springframework.boot:spring-boot-dependencies:1.5.7.RELEASE:pom

定义。

但是,如果我显式添加

代码语言:javascript
复制
com.fasterxml.jackson.core
    jackson-core
    ${jackson.version}


    com.fasterxml.jackson.core
    jackson-databind
    ${jackson.version}


    com.fasterxml.jackson.datatype
    jackson-datatype-jsr310
    ${jackson.version}


    com.fasterxml.jackson.core
    jackson-annotations
    ${jackson.version}

致我的依赖性管理节,则它正确地解析为:

代码语言:javascript
复制
[INFO] ------------------------------------------------------------------------
[INFO] Building dpt-domain-core 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ dpt-domain-core ---
[INFO] org.autodatacorp.dpt:dpt-domain-core:jar:1.0.0
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.1:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.9.1:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.1:compile
[INFO] \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.1:compile
[INFO] ------------------------------------------------------------------------

这很令人费解,因为这看起来应该等同于做一个importcom.fasterxml.jackson:jackson-bom:2.9.1:pom应该是等价物手动将该代码的内容粘贴到。

我甚至试过

代码语言:javascript
复制
org.springframework.boot                                               
    spring-boot-dependencies                                         
    ${spring.boot.version}                                                 
                                                                                  
                                                                                   
            com.fasterxml.jackson                                          
            jackson-bom                                              
                                                                                  
                                                                                 
    pom                                                                          
    import

但没有效果。

PS -如果有问题,我使用的Maven是:

代码语言:javascript
复制
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00)
Java version: 9, vendor: Oracle Corporation
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-29 02:24:16

票数 12
EN

Stack Overflow用户

发布于 2021-02-25 06:32:44

添加jackson-bom.versionpom.xml文件的属性部分应该更新jackson依赖项。这将覆盖Spring Boot父POM中的jackson版本。

代码语言:javascript
复制
2.12.1

使用jackson.version是行不通的。请参阅https://github.com/spring-projects/spring-boot/issues/17808

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46475554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档