Spring Boot已经包含核心杰克逊依赖+其他几个。
如果你是想要添加org.json或jsr-353数据绑定模块,以明确定义这些附加模块的存储。
有没有办法引用其他Jackson模块的相同版本?我想避免任何兼容性问题。
答案 0 :(得分:8)
Spring Boot为以下Jackson模块提供托管依赖项:
如果您正在使用maven,则可以使用${jackson.version}
属性在您自己的POM中定义其他模块。例如:
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-whatever</artifactId>
<version>${jackson.version}</version>
</dependency>
答案 1 :(得分:2)
明确指定您的依赖项并删除您不需要的依赖项,如:
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>jackson-databind</artifactId>
<groupId>com.fasterxml.jackson.core</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20131018</version>
</dependency>
</dependencies>
您还可以通过覆盖属性来更改内置库的版本。通过使用以下命令查看有效POM中的属性,可以找到属性列表。您可以在有效的POM中找到@Phil Web提到的属性。
mvn help:effective-pom
答案 2 :(得分:1)
在Gradle中,只需在依赖项部分之前添加ext['jackson.version'] = 'specify version here'
。