Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter
Eclipse에서 Spring legacy project 생성 오류 시 해결 방법.
여러 PC에서 동일한 에러가 발생했고 에러 코드에서 정확한 원인은 찾지 못했으나 하나하나 설정을 바꿔가면서 생성해보니 해결법이 있었다.
구글링을 아무리 해도 레퍼런스가 없어서 도움이 될까 싶어 게시글을 쓴다. 하여, 원론적인 해결방법이 아니라 지극히 경험적인 해결방법이니 원리에 대한 설명은 없음을 양해 바란다.
설치한 스프링 버전은 3.9.14 와 Add-on Tools 4 3.9.18이다.
1. JDK 중복 설치 확인
프로그램 추가/제거에서 JDK 여러 버전이 중복으로 설치되어있는지 확인한다. 중복 설치 되어있을 시 중복을 제거하고 프로젝트를 다시 생성한다.
2. JDK 버전 확인
JDK 16과 legacy project에서 뭔가 호환이 안 되는 것 같았다. 자세한 원리는 모르겠다. 아무래도 JDK는 최신 버전이고 SPRING LEGACY는 오래된 형식이라 그럴 수도 있을 것 같다. 다만, 16으로도 잘 돌아가는 PC에서는 잘 돌아간다.
1)CMD 창을 켠 뒤 JAVA -VERSION을 입력
2)JDK가 16버전이라면 프로그램 추가 제거에서 JAVA DEVELOPMENT KIT(JDK)를 찾아 제거한다.
3)JDK 11버전을 설치한다.
(https://www.oracle.com/kr/java/technologies/javase-jdk11-downloads.html)
4)SPRING LEGACY 프로젝트를 다시 생성한다.
4-2)혹시 JDK 재설치 후 이클립스 실행 시에 JDK 버전을 찾을 수 없다는 에러가 나면 환경변수 설정을 안 해서 그런 것이니 아래 블로그를 참고해서 환경변수 설정을 하자.
(https://newehblog.tistory.com/2)
3. -CLEAN 명령어
CLEAN 명령어를 사용하는 것은 위의 과정을 꼭 거친 뒤에 해야 한다. 내가 경험한 경우에서 오류 발생 시 JDK 버전을 낮추기 않고 바로 CLEAN 명령어를 써서 해결된 사례는 없었다.
CLEAN 명령어는 설치된 플러그인에 대한 대부분의 정보를 초기화, 재구현 시키는 명령어다.
1)위의 과정(중복 JDK 제거, JDK 버전 낮추기)을 거친 뒤
2)Eclipse.exe -> 속성 -> 폴더명 뒤에 -clean을 붙여주고 실행하면 된다.
*cmd 창에서 eclipse로 들어가서 실행시키는 것도 당연히 똑같이 작동한다.
4. 혹시 그래도 안 된다면
위의 과정을 다 거쳤는데도 여전히 생성이 안 되면 최후의 수단이 있다. 혹시 당신이 꼭 스프링의 기저부터 학습할 목적으로 굳이굳이 Spring Legacy project를 만드는 것이 아니라면,
Spring Boot를 이용해서 프로젝트를 생성하면 된다.
'Legacy' 카테고리의 다른 글
정보처리기사 비전공자 합격수기(교재 추천, 공부 방법) (14) | 2021.08.06 |
---|
댓글