programing

Java 컴파일 오류: "package com.fasterxml.jackson.notation이 없습니다."

lastmoon 2023. 7. 1. 09:18
반응형

Java 컴파일 오류: "package com.fasterxml.jackson.notation이 없습니다."

다음 클래스에서 문제가 표시됩니다. import com.fastxml.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>

이 구성 요소에 대한 메이븐 저장소를 확인했는데, 종속성이 없는 것 같습니다.

버전을 최신 - 2.10.0.pr1로 변경하고 종속성 프로젝트의 maven 업데이트를 시도했지만 .m2 내부에서 다운로드된 jar를 찾을 수 없었습니다.이 구성 요소에 해당하는 디렉터리 구조가 있는 경로는 두 가지입니다.

.m2/sxml/sxml/core/sxcore-configuration

.m2/저장소/com/sysxml/syscore/core/sys-configuration

이 중 어느 것이 실제 버전인지 확실하지 않아 기존 버전 디렉터리를 둘 다 삭제하려고 했지만, 메이븐 업데이트와 클린 설치를 시도해도 동일한 버전 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] ------------------------------------------------------------------------

사용하다

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

이로 인해 다음과 같은 두 가지 과도 종속성이 발생합니다.

저의 경우 아래의 Jackson XML 종속성이 누락되었습니다.

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

한 컴퓨터에서 다른 컴퓨터로 프로젝트를 이동한 후에도 동일한 문제가 발생했습니다.

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를 다시 시작한 후 모든 것이 다시 매력적으로 작동했습니다.

캐시를 무효화하고 프로젝트를 다시 시작하고 다시 빌드합니다.

파일 -> 캐시 무효화

메이븐 -> 라이프사이클 -> 설치

그 후에 작동해야 합니다.

언급URL : https://stackoverflow.com/questions/57182618/java-compilation-error-package-com-fasterxml-jackson-annotation-does-not-exist

반응형