-
JDK) openjdk 15 > openjdk 1.8 변경 오류Spring Legacy/오류 해결 2020. 10. 28. 13:01
문득, 이번 프로젝트에 정부 표준 프레임워크를 따라야 할 것 같은 생각에 jdk 버전을 확인하러 표준프레임워크에 접속했습니다.
Spring Framework, MyBatis, Log4j, Slf4j, Spring Security 모두 실행환경 3.9에 해당되어 3.9와 비교하기로 결정.
현재 사용하던 JDK 버전은 jdk15, 표준프레임워크 실행환경 3.9에는 jdk1.7 이상...
jdk15는 2020년 9월에 출시해서 너무 높은 버전이라 판단하고 jdk1.8 버전으로 변경하려 합니다.
Window 10을 보고 냅다 다운로드하고, (그러면 안됐었는데...) 스프링 폴더에 openjdk1.8로 저장하고 환경변수도 그에 맞게 변경했습니다.
프로젝트의 JAVA Build Path도 변경해준 다음, 혹시 몰라 톰캣 서버도 새로 만들어서 실행했더니.
오류)
1. 스키마 문서 'https://www.springframework.org/schema/beans/spring-beans.xsd' 읽기를 실패했습니다. 원인: 1) 문서를 찾을 수 없습니다 (이하 생략?)
2. Context initaialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
1번 오류는 JAVA Build Path를 위 사진처럼 변경해 주니 해결된 것 같고
2번 오류에서 막혀 구글링 해보니
인터페이스 구현체를 빈으로 등록, UpdateMaven 등 몇 가지 방법 중 최대한 코드 수정이 적은 것부터 고쳐보다 결국 해결이 안 돼서 하루를 몽땅 스킵..
다음날 와서 STS를 실행해보니 이젠 아예 실행이 안된다..
failed to load the jni shared library 오류 창이 떠서 검색해보았더니,
ini 파일에 vm을 추가해주면 된다고 해서 추가를 했는데...
Java was stared but returned exit code=1 이번엔 다른 오류창이 뜬다ㅜㅠ, 오류창 내용에는 ini 파일의 내용이 나열되어있었고, vm과 주소를 잘못 추가하면서 발생한 원인 같았습니다.
vm을../bin/java.exe 에서../jre/bin/server/jvm.dll로 변경해 주었습니다.
failed to load the jni shared library 다시 이 오류창이 떠서 다른 해결책을 찾아보았습니다.
오류 원인) 이클립스와 자바 간의 호환성 문제
현재 이클립스는 64bit 그리고...
jdk 버전 확인 방법 출처 : onedaystudy.tistory.com/79
어제 다운로드한 jdk는 32bit였다...
오류 해결) openjdk 재설치
openjdk1.8 64bit 설치 : github.com/ojdkbuild/ojdkbuild
저는 해당 버전으로 다운로드하였습니다.
그 후 스프링 폴더에 압축을 풀고, 압축 바로 아래 폴더의 이름을 openjdk1.8로 변경해 스프링 폴더에 놓고, 전에 받은 jdk 폴더들은 모두 삭제했습니다.
이후에 환경변수 경로 가 C:\_spring\openjdk1.8이라, 경로가 같기 때문에 환경변수는 다시 변경하지 않았습니다.
프로젝트의 Java Build Path 또한 경로가 같기 때문에 건드리지 않았습니다.
STS 실행하니 정상작동.. 서버도 잘 돌아갑니다..
혹시 같은 상황에 오류가 해결되지 않으면 환경변수 경로와 Build Path를 다시 확인해봐야 할 것 같습니다.