[인텔리제이 / 스프링부트] WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 해결

 

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 해결법

 

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by camp.nextstep.edu.missionutils.Console (file:/C:/Users/chltm/.gradle/caches/modules-2/files-2.1/com.github.woowacourse-projects/mission-utils/1.0.0/dad5230ec970560465a42a1cade24166e6a424f4/mission-utils-1.0.0.jar) to field java.util.Scanner.sourceClosed
WARNING: Please consider reporting this to the maintainers of camp.nextstep.edu.missionutils.Console
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

 

해당 오류는 자바 9 이상의 환경에서 개발하다보면 볼 수 있는 오류 메세지이다.

 

원인은 JDK 9 이상의 환경에서 CGLIB의 JDK API 내부에서 발생한 것으로

실행하는 것에 문제는 없다.

 

해결법은 간단하다.

 

 

 

이 부분을 복사하여 인텔리제이 Run/Debug Configurations

VM-Options에 설정해주면 해결된다.

 

 

 

우측 상단에 있는 Application을 누르면 찾을 수 있는

Edit Configurations... 를 통해서 Run/Debug Configurations로 이동한다.

 

 

 

VM option 설정이 없는 분들은 우측에 있는 Modify options를 눌러 선택하면 된다.

 

 

 

VM-option에 아까 복사한 --illegal-access=warn을 붙여넣고 apply해주면 문제가 해결된다.

 

 

 

본인은 해결은 되었는데 아직 한 줄이 남아있다.

 

자바 9버전부터 생긴 모듈 시스템에서는 자바의 핵심 클래스에 대한 접근 제어를 막도록 제어하는데,

해당 라이브러리가 이 부분을 고려하지 않아서 발생한 경고문이라고 한다.

 

결론적으로 해당 프로젝트 한정으로 발생하는 문구이기 이 부분은 넘어가기로 했다.

 

 

 

 

 

reference

https://velog.io/@kjb95/%EC%9A%B0%EC%95%84%ED%95%9C-%ED%85%8C%ED%81%AC%EC%BD%94%EC%8A%A4-%ED%94%84%EB%A6%AC%EC%BD%94%EC%8A%A4-2%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A0-h5r1tdvu