2011-05-07 125 views
7

Estoy trabajando en un proyecto JSP. Mientras runnning el proyecto usando Netbeans con 6 servidor Tomcat, tengo la siguiente excepción,No se puede compilar la clase para JSP

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

An error occurred at line: 8 in the generated java file 
Only a type can be imported. com.TransportPortal.MyFunctions resolves to a package 

Stacktrace: 
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 

Tiene servelet-api.jar en el directorio de Apache Tomcat lib.

Ayúdame a resolverlo.

+1

Muéstranos el JSP. – skaffman

Respuesta

9

Por el error parece que está tratando de importar algo que no es una clase.

Si su MyFunctions es una clase, debe importar esta manera:

<%@page import="com.TransportPortal.MyFunctions"%> 

Si se trata de un paquete y desea importar todo en el paquete que debe hacer la siguiente manera:

<%@page import="com.TransportPortal.MyFunctions.* "%> 

Editar:

Hay dos casos que le dará este error, editado para cubrir ambos.

6

Puede estar relacionado con la versión de Java JRE.

En mi caso necesito Tomcat 6.0.26 que presentó el mismo error con JRE 1.8.0_91. Una rebaja a JRE 1.7.49 lo resolvió.

Usted puede encontrar más información en: http://www.howopensource.com/2015/07/unable-to-compile-class-for-jsp-the-type-java-util-mapentry-cannot-be-resolved/

+0

Gracias. Para mi caso, quería seguir usando el último JDK. Acabo de actualizar a 1.8.101.Pasar de maven 'tomcat embedded' ** 6 ** a ** 7 ** ha resuelto este problema – oak

2

O se puede degradar a JRE 1.7.49

o si desea ejecutar en JRE 8

paso para fijar: -

1. Vaya a la carpeta Lib de Liferay Tomcat. 2. Reemplazar: - ecj-3.7.2.jar con ecj-4.4.2. 3.Reinicie el servidor

+0

Tengo ecj4.6.1 en mi lib de tomcat. Todavía enfrentándome al mismo problema – sambatha

+0

Utilicé ecj-4.6.3.jar y funcionó para mí. –

1

me enfrentaba misma excepción en Eclipse versión de neón excepción es como abajo

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

An error occurred at line: 1 in the generated java file 
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files 

Stacktrace: 
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

I utilizando Apache Tomcat 8 del plugin de Maven y yo tratamos de actualizar esa pero se enfrentan misma edición.

Después puedo descargar nueva versión de Apache Tomcat 8.5.14 externa y el proyecto de ejecución mediante esta su éxito voluntad para mí

espero a alguien para este útil para la determinación anterior excepción

-1
<pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.tomcat.maven</groupId> 
       <artifactId>tomcat7-maven-plugin</artifactId>  
       <version>2.2</version> 
      </plugin> 
     </plugins> 

+0

¿Podría proporcionar algún contexto para su código? ¿Dónde lo pones y cómo resuelve el problema de la pregunta? – TheEspinosa

0

org.apache.jasper.JasperException: No se puede compilar la clase para JSP:

enter image

+1

Propotice del proyecto -> Ensamblado de despliegue web ---> Agregar ----> Entradas de compilación Java Build ---> Dependencia Maven –

Cuestiones relacionadas