맥에서 java8 현재 RC1을 사용하고 있는데, jsp가 컴파일이 안 되는 이슈가 있네요.


HTTP Status 500 - 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 Stacktrace:


type Exception report

message 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 Stacktrace:

description The server encountered an internal error (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 Stacktrace:) that prevented it from fulfilling this request.

exception

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

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)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.28 logs.


Apache Tomcat/7.0.28

환장했습니다.

이클립스에서 톰캣의 런타임 JRE를 java7으로 강제 지정하니 잘 동작합니다.
ctrl+3 에서 runtime 으로 검색하고 Preferences > Runtime Environments 선택합니다.


톰캣을 선택하고 Edit... 버튼을 클릭합니다.


JRE: 항목이 Java SE 8로 되어 있군요. SE(시)8


Workbench default JRE 는 이클립스 워크스페이스에서 기본 지원하는 버전을 사용하는데, 그냥 맘편하게 Java SE 7 으로 지정하는 것도 나쁘지 않습니다. 기본환경이 언제 저를 배신할 지 모르기 때문이죠.


정식 Java SE 8이 나오면 제대로 잘 되기를 바래봅니다.

아, 오라클



+ Recent posts