2016-11-02 4 views
-2

Я работаю над веб-приложением, написанным в основном в jsp кем-то передо мной. Все работало отлично хорошо, но вдруг, когда я пытаюсь запустить проект на сервере (от Eclipse), я получаю следующие две ошибки в браузере и затмении:Ошибка, связанная с невозможностью компилировать класс для JSP & Невозможно загрузить класс для JSP

HTTP Status 500 - Unable to compile class for JSP 

type Exception report 

message Unable to compile class for JSP 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: Unable to compile class for JSP 
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:288) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

Когда я обновить браузер, я получаю другая ошибка.

HTTP Status 500 - Unable to load class for JSP 

type Exception report 

message Unable to load class for JSP 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: Unable to load class for JSP 
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598) 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

root cause 

java.lang.ClassNotFoundException: org.apache.jsp.automation.actions.index_jsp 
    java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    java.security.AccessController.doPrivileged(Native Method) 
    java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:133) 
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65) 
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:596) 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

Я читал во многих местах, что ошибка происходит из-за кот не указал на правую JDK, который я сделал. Он указывает на Java 1.7. Если я укажу на 1.8, я получаю ошибку The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files.

Код работал нормально раньше, и я не уверен, что именно произошло. У меня эта ошибка и в прошлом, и я использовал для повторного импорта проекта и т. Д., Чтобы решить эту проблему. На этот раз мне бы очень хотелось получить от этого корень, так как это, похоже, происходит время от времени. Я уверен, что это какая-то конфигурация, которую я пропускаю, но я не уверен, что.

+0

может кто-нибудь объяснить, почему они являются downvoting, пожалуйста? – mahacoder

ответ

0

Сначала проверьте эту страницу для совместимости версий Tomcat VS Java: http://tomcat.apache.org/whichversion.html

Если вы используете TOMCAT 8.x или 7.x Java 7 или 8 ОК. Выберите JDK8, если сможете.

Далее, если вы хотите избежать подобных проблем, сконфигурируйте и перекомпилируйте проект eclipse с помощью того же jdk (проверьте настройки сборки).