问题
How to resolve java.lang.IllegalStateException
: No Java compiler available for configuration options compilerClassName
.
I use embedded-tomcat 8.0.46
and spring 4.3.10.RELEASE
java.lang.IllegalStateException: No Java compiler available for configuration options compilerClassName: [null] and comp
iler: [null]
at org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:231)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:578)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:716)
回答1:
Try adding
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.6.1</version>
<scope>provided</scope>
</dependency>
to maven pom.xml.
Look at: https://www.mkyong.com/spring-boot/spring-boot-web-jsp-no-java-compiler-available/
回答2:
Add the following dependency and save. You may need to restart the application.
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.6.1</version>
<scope>provided</scope>
</dependency>
来源:https://stackoverflow.com/questions/45937784/how-to-resolve-java-lang-illegalstateexception-no-java-compiler-available-for-c