2015-03-25 2 views
3

Я запускаю военное приложение на сервере Jetty в Eclipse. Когда я пытаюсь открыть главную страницу JSP, я получаю сообщение об ошибке ниже. Примечание. Я использую Java 8, а компилятор, который упакован в нашу войну, который бросает исключение, это: org.apache.jasper_5.5.17.v201101211617.jar. Любая помощь приветствуется.Получение Тип java.lang.CharSequence не может быть разрешен. сообщение об ошибке с Java 8 JDK

Исключение:

HTTP ERROR 500 

Problem accessing /help/updater/updatewar.jsp. Reason: 

    Unable to compile class for JSP 

An error occurred at line: 16 in the jsp file: /updater/updatewar.jsp 
Generated servlet error: 
The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 

Caused by: 

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

An error occurred at line: 16 in the jsp file: /updater/updatewar.jsp 
Generated servlet error: 
The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 


    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) 
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328) 
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:297) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264) 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
    at org.eclipse.equinox.jsp.jasper.JspServlet.service(JspServlet.java:153) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
    at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) 
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) 
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126) 
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
    at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1367) 
    at com.ibm.ccl.ut.war.filter.WelcomeFileFilter.doFilter(WelcomeFileFilter.java:51) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111) 
    at org.eclipse.jetty.server.Server.handle(Server.java:350) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454) 
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538) 
    at java.lang.Thread.run(Thread.java:785) 
+1

Какой JRE запущен Jetty? Все, что должно быть в 1.4 или выше, должно содержать этот класс, предполагая, что он не сломан. – nitind

+0

Java 8 JRE работает причал. – Dan

+0

Мы используем компилятор JDT, который находится в состоянии войны для компиляции и запуска наших JSP. Это его основное использование. – Dan

ответ

1

Jetty 7 (и ниже), вероятно, не поддерживает Java 8. В Java 8 были внесены некоторые изменения в классах, вызывая сбой компиляции JSP.

Связанные вопрос (такое же исключение): Unable to compile class for JSP: The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

Связанные проблемы в ManifoldCF (же исключение): https://issues.apache.org/jira/browse/CONNECTORS-938

По крайней мере Jetty 9,2 поддерживает Java 8: https://webtide.com/jetty-9-2-0-released/ http://www.eclipse.org/jetty/documentation/current/what-jetty-version.html

+0

да, я столкнулся с той же проблемой. Jsp, работающий с jdk 7 при изменении на jdk 8, дает указанную здесь ошибку. Решено с помощью jdk 7. – skstar

0

Добавление только язык =» groovy "в jrxml работал на меня.

<jasperReport 
    xmlns="http://jasperreports.sourceforge.net/jasperreports" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" 
    name="jasper_report_template" **language="groovy"** 
    pageWidth="100" pageHeight="100" columnWidth="10" 
    leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" 
> 
0

, как все говорили, просто обновить сервер пристани

если вы используете Maven

перейти к молы плагин и обновить его

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>9.3.0.v20150612</version> 
    <configuration> 
     <scanIntervalSeconds>3</scanIntervalSeconds> 
     <httpConnector> 
      <port>${jetty.port}</port> 
      <idleTimeout>60000</idleTimeout> 
     </httpConnector> 
     <stopKey>foo</stopKey> 
     <stopPort>${jetty.stop.port}</stopPort> 
    </configuration> 
</plugin> 
Смежные вопросы