org.apache.jasper.JasperException: Unable to compile class for JSP

2019. 5. 27. 14:10etc/error

예전에 했던 프로젝트를 Tomcat 으로 실행했더니

다음과 같은 오류가 발생했다.

 

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 1 in the generated java file
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

An error occurred at line: 1 in the generated java file
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)


상황은 다음과 같다.

 

예전 프로젝트는 java7, tomcat7 에서 동작했었다.

 

java와 tomcat 을 상위버전으로 바꿔서 로컬에서 구동하니 잘 되길래 VM에 올려서 시도했다.

 

tomcat 은 정상적으로 실행됬고 페이지에 접속만 하면 위 오류가 반복되었다.

 

VM은 java8, tomcat8이 설치되어 있었다.

 

java와 tomcat 의 버전도 서로 충돌 및 이슈가 없도록 맞춰서 java 버전을 올려보고 tomcat 버전도 올려보고 compile 버전도 바꿔보고 등등... 프로젝트 단위로 할 수 있는 것들은 다 해본거 같다.

 

프로젝트가 작으면 java나 tomcat 의 버전업에 대응해서 진행할텐데 프로젝트 규모가 조금 크다보니 설정파일까지 건드리기엔 리스크가 있었다.

 


 

프로젝트가 이클립스에서 오류가 나지 않는 수준만 유지했다.

 

그래서 서버 환경자체를 이 프로젝트가 원래 실행됬던 환경으로 다시 셋팅하니 정상적으로 실행되었다.

 

나중에도 java, tomcat 버전업을 할 일들이 있을텐데 ㅠㅠ...

 

시간이 된다면 상세히 원인을 파악해야겠다 ㅠ