10

Spring Boot 已经包含了核心的 Jackson 依赖项 + 其他几个。

如果您想添加 org.json 或 jsr-353 数据绑定模块,您需要明确定义这些附加模块的版本。

有没有办法引用其他杰克逊模块的相同版本?我想避免任何兼容性问题。

4

3 回答 3

13

Spring Boot 为以下 Jackson 模块提供托管依赖项:

  • 杰克逊注解
  • 杰克逊核心
  • 杰克逊数据绑定
  • 杰克逊数据类型乔达
  • 杰克逊-数据类型-jsr310

如果您使用的是 maven,则可以使用该${jackson.version}属性在您自己的 POM 中定义其他模块。例如:

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-whatever</artifactId>
    <version>${jackson.version}</version>
</dependency>
于 2014-08-07T19:04:42.110 回答
7

在 Gradle 中,只需ext['jackson.version'] = 'specify version here'在依赖项部分之前添加。

于 2019-01-31T08:07:04.730 回答
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 
于 2014-08-07T22:11:21.480 回答