[Spring] 이클립스(eclipse) 톰캣 연동 오류 총 정리
오랜만에 스프링 프로젝트를 할 일이 생겨서 기본 셋팅을 하고 나니 다음과 같은 오류가 나타났다.
주 오류 내용
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
서버 재설정하고 힙 메모리 용량과 vm 관련 설정을 바꿔봐도 해결되지 않았다.
구글을 통해 영미권 사이트를 돌아다녀서 해결법을 알아냈다.
해당 오류는 이클립스 Oxygen a.3 버전에서 발생했다.
이클립스가 현재 PC에 설치된 jdk 의 버전과 호환이 안되는경우 발생한다는것이다. (필자의 경우 jdk10)
jdk8로 새로 다운받아서 서버셋팅을 다시 해주니 잘 구동되었다.
이클립스를 압축파일이 아닌 설치형으로 받은경우 이클립스 역시 다시 설치해줘야하는것 같다.
요약하자면 자신의 jdk 와 현재 설치된 이클립스의 버젼이 잘 호환되는지 확인해서 맞춰줘야한다는 것!
2. The superclass "javax.servlet.http.HttpServlet" wsa not found on the Java Build Path
JSP 파일 제일 첫줄에 나오는 오류.
보통 Runtime이 제대로 설정이 안되서 발생한다.
해당 오류가 나는 프로젝트 Properties > Project Facets > 오른쪽 탭에서 Runtimes 탭 > 해당 버전의 Tomcat 선택후 Apply
오류가 나는 프로젝트 Run As > Run Configurations... > Apache Tomcat > 해당 프로젝트에 설정된 Tomcat 서버 선택 > Classpath 탭 선택
Classpath 탭에서 오류가 나는 jar 파일의 경로를 정확하게 수정해주고 중복되는 jar파일을 한 개 빼고 제거 해주면 오류가 해결된다.
4. 그외 서버 실행시 나타나는 오류. 보통은 Error: Could not create the Java Virtual Machine.
1번 오류와 유사하지만 2줄이 아닌 한줄만 나오는경우 이클립스 폴더 내의 eclipse.ini 의 설정을 바꿔주는것으로 해결이 가능한경우가 있다.
4-1)
이클립스가 jdk위치를 제대로 잡지 못하는경우 발생할 수 있다.
eclipse.ini 설정파일을 편집프로그램으로 연 뒤 openFile 밑에 설정을 추가 해주자
openFile // 이 줄 말고 아랫줄부터 추가할것
-vm
C:\Program Files\Java\[자신의 jdk 폴더]\bin\javaw.exe
4-2)
서버 실행시 메모리에 필요한 파일을 적재하다가 용량 문제로 오류가 나는경우에는 해당 해결법이 도움이 될 수 있다.
eclipse.ini 설정파일 아래에 Heap 메모리 설정 부분을 수정 해준다.
-Xms512m // 최소 heap 메모리 관련 설정. 256 혹은 512로 잡아준다. 메모리에 여유가 있다면 더 높게도 OK
-Xmx512m // 최대 heap 메모리 관련 설정. 512 혹은 그 위로 잡아주되 최소 heap 설정과 편차가 너무 많이 나면 오류가 날 수 있다고 함
그 외에 현재 프로세스중 메모리를 가장 많이 차지하는 프로세스를 종료 시켜 메모리를 확보하는것으로도 오류를 방지 할 수 있다고 한다.
스프링 서버를 실행하기 전에 충분한 메모리가 확보되어있는지 확인해보자.
'HighCode > Java' 카테고리의 다른 글
| [SPRING] JSP 주석 정리 (0) | 2018.09.06 |
|---|---|
| [Spring] 이클립스(eclipse) 톰캣 연동 오류 총 정리 (3) | 2018.08.25 |
| [Spring] Controller 에서 ModelAndView 와 String 으로 리턴할때 차이 (0) | 2016.12.22 |
| [Spring:Error] The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path (0) | 2016.12.21 |
| [JSTL] Map에 있는 elements들을 원하는 순서대로 출력 (0) | 2016.12.21 |
| [Spring] Restful한 스프링 @ResponseBody vs @RestController (1) | 2016.12.21 |
2018.08.25 17:58
비밀댓글입니다
2018.08.25 17:59
비밀댓글입니다
2018.09.09 21:37
비밀댓글입니다