복붙노트

[SPRING] org.springframework.cglib.core.ReflectUtils에 의한 불법적 인 접근을 방지하십시오 $ 1

SPRING

org.springframework.cglib.core.ReflectUtils에 의한 불법적 인 접근을 방지하십시오 $ 1

My JDK 9 + 181 Spring Boot 2.0.0.BUILD-SNAPSHOT CLI 응용 프로그램은 시작시 다음 경고를 표시합니다.

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (jar:file:/home/jan/src/fm-cli/target/fm-cli-0.1.0-SNAPSHOT.jar!/BOOT-INF/lib/spring-core-5.0.0.RELEASE.jar!/) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1

이것은 콘솔 응용 프로그램이므로이 경고를 비활성화해야합니다. 어떻게 할 수 있습니까?

참고 :이 질문은 스프링에 의해 트리거 된이 경고를 해제하는 방법에 대한 특정 질문을 묻습니다. JDK9의 복제본이 아닙니다 : 불법적 인 반사 액세스 조작이 발생했습니다. org.python.core.PySystemState는 다른 라이브러리에서 유사한 증상을 처리합니다.

해결법

  1. ==============================

    1.JDK 9+에서 Spring의 CGLIB 사용에 대한 경고를 사용하지 않으려면 JVM에 다음 옵션을 추가하십시오.

    JDK 9+에서 Spring의 CGLIB 사용에 대한 경고를 사용하지 않으려면 JVM에 다음 옵션을 추가하십시오.

    --add-opens java.base/java.lang=ALL-UNNAMED
    

    예 :

    java --add-opens java.base/java.lang=ALL-UNNAMED -jar target/*.jar
    

    보고 할 필요가 없습니다. 알려진 스프링 버그입니다.

    이는 새로운 JDK 9 모듈 시스템이 (가까운) 미래에 언젠가는 허용되지 않는 불법적 인 액세스를 감지했기 때문에 발생합니다. JDK 9 모듈 시스템에 대한 자세한 내용은 여기를 참조하십시오.

    최신 정보:

    이 문제점에 대한 픽스는 JDK 9+와 Spring 5.1 이상 버전에서 사용할 수 있습니다.

  2. ==============================

    2.Spring Core 5.0.7에 의존하는 Intellij와 Spring Boot 2.0.3을 사용하고 있다면, Jan Nielsen의 대답에 더해서, 당신은 여전히 ​​고착되어 있고 수정이 없다.

    Spring Core 5.0.7에 의존하는 Intellij와 Spring Boot 2.0.3을 사용하고 있다면, Jan Nielsen의 대답에 더해서, 당신은 여전히 ​​고착되어 있고 수정이 없다.

    나를위한 길은 두 가지가 필요했습니다.

  3. ==============================

    3.스프링 이니셜 라이저를 사용할 때는 최신 버전의 스프링 부트를 사용해야합니다. 자동으로 스프링 코어 5.1 이상을 얻게되고 프로젝트를 실행할 때 오류가 표시되지 않습니다.

    스프링 이니셜 라이저를 사용할 때는 최신 버전의 스프링 부트를 사용해야합니다. 자동으로 스프링 코어 5.1 이상을 얻게되고 프로젝트를 실행할 때 오류가 표시되지 않습니다.

    따라서 JVM 설정을 수정하는 것에 대해 걱정할 필요가 없습니다.

  4. ==============================

    4.이러한 경고 이후에 앱이 여전히 작동하지 않으면이 종속성을 pom.xml에 추가하십시오

    이러한 경고 이후에 앱이 여전히 작동하지 않으면이 종속성을 pom.xml에 추가하십시오

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    

    이것은 나를 도왔다 !!

  5. from https://stackoverflow.com/questions/46671472/illegal-reflective-access-by-org-springframework-cglib-core-reflectutils1 by cc-by-sa and MIT license