今天在架構改造中發現,原來eclipse項目中使用了jackson依賴,編譯不報錯而且不會提示缺少jackson-bom.jar。在新的springboot2.1.4的項目中發現報錯,錯誤消息如下:
org.apache.maven.plugins:maven-clean-plugin:3.1.0:clean
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Failure to find com.fasterxml.jackson:jackson-bom:pom:1.9.9 in http://maven.aliyun.com/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of aliyun has elapsed or updates are forced @ org.springframework.boot:spring-boot-dependencies:2.1.4.RELEASE, C:\Users\renkai721\.m2\repository\org\springframework\boot\spring-boot-dependencies\2.1.4.RELEASE\spring-boot-dependencies-2.1.4.RELEASE.pom, line 605, column 13
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
操作剖析:
1、我們常規的使用方式如下,現在頂部定義一個版本
<properties>
<jackson.version>1.9.9</jackson.version>
</properties>
2、在dependency中使用方式如下,這樣就會報錯。
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-lgpl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
解決方法如下:
1、刪除頂部定義的版本,直接寫在version中。正確的寫法如下
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-lgpl</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.9</version>
</dependency>
2、重新clean,試一試。