Java编译错误:“package com.fasterxml.jackson.annotation does not exist”

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

以下课程出现问题 - 导入 com.fasterxml.jackson 无法解决 -

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;


@JsonIgnoreProperties(ignoreUnknown=true)
public class MerchantDetailsDto {

运行编译错误

clean install
-

[ERROR] COMPILATION ERROR : 

[INFO] -------------------------------------------------------------

[ERROR] /Path/to/src/main/java/com/citruspay/common/dto/merchant/MerchantDetailsDto.java:[9,40] package com.fasterxml.jackson.annotation does not exist

[ERROR] /Path/to/src/main/java/com/citruspay/common/dto/merchant/MerchantDetailsDto.java:[11,2] cannot find symbol

symbol: class JsonIgnoreProperties

pom定义是这样的,它在一个项目的pom里面定义为当前项目的依赖-

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>${jackson-core.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>${jackson-core.version}</version>
</dependency>

<jackson-core.version>2.6.1</jackson-core.version>

我检查了这个组件的maven仓库,它似乎没有任何依赖。

我尝试将版本更改为最新版本 - 2.10.0.pr1 并尝试对依赖项项目进行 Maven 更新,但找不到在 .m2 中下载的 jar。这个组件对应的目录结构有两个路径 -

.m2/fasterxml/jackson/core/jackson-annotations

.m2/repository/com/fasterxml/jackson/core/jackson-annotations

我不确定哪一个是真实的,所以我尝试从这两个目录中删除现有版本目录,但是当我尝试 maven 更新和全新安装时,即使是相同版本的 jar 也没有下载。

不胜感激。

更新

依赖项目的干净安装命令的输出-

[INFO] Scanning for projects...
[INFO] 
[INFO] ------< com.project.path.to.project-dependency >------
[INFO] Building project-dependency 1.0-SNAPSHOT
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ project-dependency ---
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ citruspay-spring-dependencies ---
[INFO] Installing /Path/to/dependency/project/pom.xml to /path to/.m2/repository/com/project/path/to/dependency/1.0-SNAPSHOT/project-dependency-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.417 s
[INFO] Finished at: 2019-07-24T17:25:42+05:30
[INFO] ------------------------------------------------------------------------
java spring-boot maven compiler-errors pom.xml
4个回答
20
投票

使用

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.11.0</version>
    </dependency>

这会引入两个传递依赖:


2
投票

就我而言,我缺少以下 Jackson XML 依赖项。

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.13.4</version>
</dependency>

1
投票

将我的项目从一台计算机移动到另一台计算机后,我遇到了同样的问题。

因为我使用的是 Json、XML 和 YAML,所以我必须将以下依赖项添加到我的 pom.xml 文件的根目录中:

<dependencies>
    <!-- Jackson - Json -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.14.2</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.14.2</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.14.2</version>
    </dependency>

    <!-- Jackson - XML -->
    <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-xml</artifactId>
        <version>2.14.2</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.woodstox</groupId>
        <artifactId>stax2-api</artifactId>
        <version>4.2.1</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.woodstox</groupId>
        <artifactId>woodstox-core</artifactId>
        <version>6.5.0</version>
    </dependency>

    <!-- Jackson - YAML -->
    <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>2.14.2</version>
    </dependency>
    <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>2.0</version>
    </dependency>
</dependencies>

然后在重新启动 IntelliJ IDEA 后,一切又像魅力一样工作了......


0
投票

使缓存无效,重新启动并重建项目。

文件 -> 使缓存无效

maven -> 生命周期 -> 安装

之后它应该可以工作。

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