如何解决org.apache.jasper.JasperException:java.lang.IllegalStateException:没有可用的Java编译器

时间:2014-09-16 13:18:32

标签: jsp servlets

如何解决org.apache.jasper.JasperException:java.lang.IllegalStateException:没有Java编译器可用。当我打开这个localhost:8080 / manager / html它正在工作但是点击/ manager或host-manager或者关于JSP示例的示例我得到的错误就是

      org.apache.jasper.JasperException: java.lang.IllegalStateException: No Java compiler available
       org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585)
       org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:391)
       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)
     root cause
        java.lang.IllegalStateException: No Java compiler available
        org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:228)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:638)
        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

3 个答案:

答案 0 :(得分:2)

您缺少的文件是:jasper.jar 您可以在RELEASE_NOTES中找到tomcat lib中的完​​整jar文件列表:&{34; Bundled APIs"

下的http://tomcat.apache.org/tomcat-7.0-doc/RELEASE-NOTES.txt

答案 1 :(得分:0)

您缺少Tomcat lib文件夹中的一些jasper库。见http://affy.blogspot.de/2006/10/fixing-no-java-compiler-available.html

我目前在旧的5.5安装中遇到此问题。我缺少的文件是jasper-compiler-jdt.jar。

HTH,Alex

答案 2 :(得分:0)

关注java / tomcat版本!

我的目标服务器的java版本是1.7,所以我将该行添加到pom.xml:

<java.version>1.7</java.version>

它与eclipse中配置的tomcat服务器1.7配合得很好。然后我切换到spring boot的嵌入式tomcat服务器并得到了同样的错误。默认情况下,spring启动了tomcat版本8.xx.在意识到我添加了:

<tomcat.version>7.0.63</tomcat.version>

进入pom.xml并且错误消失了。 (我认为只有tomcat的主要版本很重要。)