본문 바로가기
개발/etc

[JD-GUI] java 9 이상에서 실행 오류 : module java.base does not "opens jdk.internal.loader" to unnamed module

by zuzuu 2021. 12. 3.
반응형

 

소스를 디컴파일할 때 JD-GUI를 사용하는데 갑자기 아래와 같은 에러가 발생하면서 실행이 되지 않았다.

 

WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath) accessible: module java.base does not "opens jdk.internal.loader" to unnamed module @3fd7a715

 

 

찾아보니 pc에 세팅된 jdk를 1.8에서 9로 바꿔서 그랬던 것!

java9 이상에서는 아래와 같은 명령어를 추가하여 실행해야 한다!

 

  • win/linux
java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED -jar jd-gui-1.4.0.jar

 

  • macOS
java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED -jar jd-gui-1.4.0.jar

 

728x90
반응형

댓글