본문 바로가기

개발/Spring

java.lang.IllegalAccessError:cannot access class com.sun.crypto.provider.SunJCE (in module java.base) because module java.base does not export com.sun.crypto.provider to unnamed module 오류 해결 방법

✅ java.lang.IllegalAccessError: cannot access class com.sun.crypto.provider.SunJCE 오류 해결 방법

이 오류는 Java 9 이상에서 모듈 시스템이 적용되면서 com.sun.crypto.provider.SunJCE에 접근할 수 없기 때문에 발생합니다.
Java 8에서는 문제가 없었지만, Java 9 이상에서는 java.base 모듈이 com.sun.crypto.provider 패키지를 외부로 노출하지 않기 때문에 발생합니다.


🔹 1. 해결 방법: JVM 옵션 추가하기 (--add-exports)

JVM 실행 시 --add-exports 옵션을 추가하여 강제로 접근을 허용하면 해결됩니다.

(1) IntelliJ에서 설정하는 방법

1️⃣ Run → Edit Configurations 클릭


2️⃣ VM options에 아래 내용 추가

--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED

 

3️⃣ Apply → OK 클릭 후 실행