Programing

module java.base does not "opens java.lang" to unnamed module

handam 2022. 2. 24. 11:10
반응형

 

이클립스에 SonarLint 및 플러그인 설치 후 재기동시 오류 발생

An error has occurred. See error log for more details.
Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @251a90ce

 

쏘나 플러그인 설치 전에 다른 플러그인 업데이트가 필요하다 해서 할까, 말까 했는데 변경한 덕에(?) .ini 파일을 확인해보니 변경된 부분이 적지 않았다.

 

Quick Search, UML 관련 ObjectAid 플러그인도 설치했었...

 

SpringToolSuite4.ini 파일의 변경된 속성 확인

# 이전 속성
-startup
plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.100.v20210209-1541
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-vm
plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_15.0.2.v20210201-0955/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=1.8
...(생략)


# 변경된 속성
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.400.v20211117-0650
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-vm
plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.1.v20211116-1657/jre/bin
-vmargs
-Dosgi.requiredJavaVersion=11
...(생략)

 

그래서 vm을 원래 사용하던 자바8 버전으로 변경하니 아예 STS 로드도 못함.

---------------------------
SpringToolSuite4
---------------------------
The SpringToolSuite4 executable launcher was unable to locate its 
companion shared library.
---------------------------
확인   
---------------------------

 

-startup 속성과 --launcher.library 속성을 다시 업데이트된 버전으로 되돌리고 

-clean 스탈트 해봐도 소용이 없었다.

 

JDK 강화된 보안 정책으로 lombok 사용시 이런 오류가 발생한다고 하는 내용을 찾을 수 있어서

.ini 파일 속성에 다음 옵션을 추가하라는 말이 있길래 

--illegal-access=warn 
--add-opens java.base/java.lang=ALL-UNNAMED

출처: https://luvstudy.tistory.com/157 [파란하늘의 지식창고]

 

해봤지만 역시 안됨. 이 후로 이런 저런 시도를 해봤지만..

 

아무래도 여러 플러그인을 설치 하면서 뭔가 버전이 맞지 않거나 꼬이거나.. 같은 오류도 아니고 시시각각 다른 오류를 뱉어내길래 시간이 아깝기도 하고 workspace 프로젝트 폴더를 포기했다.

 

이럴때를 위해 git 원격 저장소가 있는것 아니겠나.

프로젝트 쏙 빼서 새로운 workspace 폴더를 만들고 import. 

 

끝.

반응형