2016-01-07 14 views
8

Ciao Sto ricevendo errore quando sto cercando di accedere alla pagina jsp nel mio progetto gwt. Altre pagine che non sono pagine jsp stanno accettando bene.Impossibile compilare la classe per errore JSP quando sto eseguendo il mio codice nel progetto eclipse gwt

E 'strano che io sono in grado di vedere file JSP quando GWT SDK viene spostato verso il basso, al fine percorso di generazione che sta dando un altro errore che GWT SDK non è installato

Può uno aiuto io per favore ?

org.apache.jasper.JasperException: Unable to compile class for JSP 
Generated servlet error: 
2016/01/07 14:30:51:128 IST [ERROR] Compiler - Javac exception <Compile failed; see the compiler error output for details.>Compile failed; see the compiler error output for details. 
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:933) 
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757) 
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:379) 
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:472) 
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) 
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) 
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) 
at com.rapapp.gwt.server.common.util.CompressionFilter.doFilter(CompressionFilter.java:113) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 
at com.rapapp.gwt.server.common.util.CacheFilter.doFilter(CacheFilter.java:69) 
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) 
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) 
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68) 
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
at org.eclipse.jetty.server.Server.handle(Server.java:370) 
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) 
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) 
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) 
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) 
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
at java.lang.Thread.run(Unknown Source) 



Generated servlet error: 
2016/01/07 14:30:51:129 IST [ERROR] Compiler - Env: Compile: javaFileName=/C:/Users/USER/AppData/Local/Temp/jetty-127.0.0.1-8888-war-_-any-//org/apache/jsp\login_jsp.java 
+2

si prega di inviare la tua login.jsp –

+1

e vi prego di controllare il registro del compilatore -> quota che forse? – Jan

+0

Ciao @ StefanBeike, ho provato ma non ho postato il mio codice qui. Ma ho cambiato il mio file che contiene solo tag html di base. Solo tag div e input. Ho ancora lo stesso errore. Riuscite a indovinare quale potrebbe essere il problema? – Sree

risposta

2

Dato che non stanno fornendo login.jsp di file, quindi voglio condividere paio di suggerimenti per risolvere questo problema.

  1. Usa ultima Tomcat - http://www.howopensource.com/2015/07/unable-to-compile-class-for-jsp-the-type-java-util-mapentry-cannot-be-resolved/

  2. Il jsp-api viene fornito dal Servlet container. Utilizzare almeno la versione 2.1 . Modificare la dipendenza nella vostra pom.xml

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jsp-api</artifactId> 
    <version>2.1</version> 
    <scope>provided</scope> 
</dependency> 
  1. Usa il fagiolo dove class name sarà scritto con package name. A titolo di esempio,
<%@ page import="com.Test.Person" %> 
<html> 
<head></head> 
<body> 
<jsp:useBean id="person" class="com.Test.Person" scope="request" /> 
<jsp:setProperty name="person" property="name" value="Tripti" /> 
This JSP Page is created by:<jsp:getProperty name="person" property="name" /> 

</body> 
</html> 
  1. Tomcat cache contenitore .java e .class file generati dal JSP parser sono utilizzati dall'applicazione web. A volte questi ottengono corrotti o non possono essere trovati. Ciò può verificarsi dopo una patch o l'aggiornamento che contiene modifiche a JSP.

Risoluzione

  • eliminare il contenuto della cartella se si utilizza <JIRA_INSTALL>/work standalone JIRA o <CATALINA_BASE>/work se si utilizza EAR/WAR installazione.
  • Verificare che l'utente che esegue il processo di applicazione JIRA abbia l'autorizzazione di lettura/scrittura per la directory <JIRA_INSTALL|CATALINA_BASE>/work.
  • Riavviare il contenitore dell'applicazione JIRA per ricostruire i file.

qualche altro ways--

  1. classi non all'interno di un pacchetto sono scoraggiati in Java moderna, fino al punto in cui essi non ci sono anche lavorare in un numero di casi. Inserisci i tuoi corsi in pacchetti (usa l'istruzione di un pacchetto nella parte superiore del file .java ) - tutti.

  2. Questo problema viene generato dai valori predefiniti utilizzati da JspServlet, che viene compilato utilizzando 1.4 per i valori di origine/destinazione.

È possibile configurare questa servlet aggiungendo

<servlet> 
    <servlet-name>jsp</servlet-name> 
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
    <init-param> 
     <param-name>compilerSourceVM</param-name> 
     <param-value>1.5</param-value> 
    </init-param> 
    <init-param> 
     <param-name>compilerTargetVM</param-name> 
     <param-value>1.5</param-value> 
    </init-param> 
    <load-on-startup>3</load-on-startup> 
</servlet> 
  1. C'è una questione più come non è possibile configurare JspServlet con l'attuale jasper-compiler-5.0.28. Dovresti scaricare jasper-compiler-5.0.30 e make sure is in your classpath before gwt. Ci sono altri più recenti vasetti di diaspro compilatore fuori là ma non sono dolente di come compatibili sono con jakarta-tomcat-5.0.28

  2. https://code.google.com/archive/p/raisercostin/wikis/GwtEclipsePluginDebug.wiki

  3. Ciò forse causato da un conflitto vaso. Rimuovere la directory, %Tomcat home%/lib rimuovere la libreria servlet-api.jar.

  4. Ogni volta che ho visto quegli errori il motivo era che jasper non riusciva a trovare il compilatore java . Cercare di mettere tools.jar nel vostro common/lib e vedere se il servizio funziona poi ..

Problemi correlati