IDE는 이클립스를 사용함
- jdk 11 버전 받고 환경변수 설정, path경로 설정. (기존 jdk가 16버전이라 낮춰줬다.)
-> cmd에서 java -verion, javac -version 똑같이 잘 되어있나 확인
- 이클립스에 플러그인 설치로 sts3을 설치해주도록한다. 이클립스에서 help-이클립스 마켓플레이스-spring tools3 StandAlone Edition
-> 시간이 약간 걸린다.
- WAS는 톰캣 9버전 다운 받아 설치
window-preferences-server 에서 아파치톰캣9 선택-> 설치경로 지정 default jre 설정도 하기 (다이나믹 웹 프로젝트 생성한적이 있어서 톰캣은 따로 안깔긴함)
스프링 구동하기 위한 설치는 끝났고
오른쪽상단 perspective에서 스프링 지정 후 spring lagacy project 생성
나는 이 과정에서 안 되는 경우 세 가지가 있었다.
- java.lang.java.lang.ExceptionInInitializerError
- 원인 : 이클립스 2021-12 버전의 패키지 다운로드로 설치하면 OpenJDK 17 버전이 내장됨 스프링은 11까지 지원
- 해결: 이클립스에서 사용하는 자바 버전 낮추기
처음에 이클립스를 구동하면 이 Open JDK 17 버전을 기반으로 작동하기 때문에 이클립스 설치경로\eclipse.ini 에서 -vm 부분을 수정
plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.1.v20211116-1657/jre/bin
해당 부분을 이렇게
C:/Program Files/Java/jdk-11.0.9/bin\javaw.exe
- an error has occurred. see error log for more details. could not initialize class com.thoughtworks.xstream.converters.collections.propertiesconverter
이것도 jdk 버전 호환 문제였음
spring version 과 java version 호환 문제
- 톰캣 서버 구동시 나타난 에러
org.apache.catalina.core.StandardContext backgroundProcess 경고: 로더 [WebappLoader[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/board]]]을(를) 백그라운드 프로세스로 처리 중 예외 발생 java.lang.IllegalStateException: java.io.IOException: java.lang.reflect.InvocationTargetException
- 원인: JDK의 lib 폴더에 위치한 servlet-api.jar 파일이 6.0 버전에 맞는 구 버전이기 때문
- 해결 : tomcat lib 폴더에 있는 servlet-api.jar 파일을 사용하고 있는 jdk 설치 폴더(C:\Program Files\Java\jdk1.7.0_65\lib) 에 붙여넣기