No se puede comstackr la clase para JSP: no se puede resolver en un tipo

Estoy desarrollando un proyecto web dynamic. El proyecto se está ejecutando bien en el servidor local pero no en vivo. En el servidor en vivo lanza una excepción en la línea en la que he usado cualquier objeto Java:

org.apache.jasper.JasperException: no se puede comstackr la clase para JSP:

An error occurred at line: 7 in the jsp file: /groups.jsp CollectionAppService cannot be resolved to a type 4: <% 5: String json = "[]"; 6: try { 7: CollectionAppService collectionAppService = new CollectionAppService(); 8: json = collectionAppService.getGroupsJson(); 9: } catch (Exception e) { 10: e.printStackTrace(); 

El proyecto se ejecuta en el servidor local pero también tiene errores en el registro de errores para los archivos de clase máxima:

Error:

 Thu Sep 20 01:16:11 GMT+05:30 2012 File not found: /Users/sukhpal/Data/Workspaces/J2EE Workspace/CollectionApp/build/classes/com/mut/service/common/Constants.class. 

Por favor ayuda. (Tomcat está habilitado en mi servidor en vivo).

A continuación se muestra el enlace del servidor en vivo http://mutmanager.com/webservice/groups.jsp

Parece que olvidó importar su CollectionAppService en su JSP:

 <%@ page import="your.package.CollectionAppService" %> 

Pero, hay un problema importante, no debe poner código Java en su JSP. En su lugar, debe mover su código a una clase e invocarlo desde un Servlet o similar.

Artículo principal para esto:

  • ¿Cómo evitar código Java en archivos JSP?

No olvide que el aprendizaje es bueno, sino también aprender de la manera correcta.


Después de leer tu pregunta otra vez, veo esta línea de Stacktrace:

Archivo no encontrado: / Users / sukhpal / Data / Workspaces / J2EE Workspace / CollectionApp / build / classes / com / mut / service / common / Constants.class

Supongo que su problema es la clase Constant (y su CollectionApp también) está dentro de un proyecto B. Está utilizando referencias de ruta absolutas de otro proyecto que contiene estas clases y tal vez no lo esté cargando.

Imagine esta situación: tiene un proyecto web (proyecto A) y tiene algunas clases que ya realizan un trabajo pesado y elegante en otro proyecto (proyecto B) que reutiliza en la mayoría de los proyectos en los que trabaja. En su entorno de desarrollo, tiene una referencia del proyecto A al proyecto B, pero luego solo carga el proyecto A a su entorno de producción. De esta manera, cuando el proyecto A quiere llamar a una clase del proyecto B, nunca lo encontrará, y se lanza la excepción.

La mejor solucion:

  • Crear un tarro del proyecto B.
  • En el proyecto A, elimine todas las referencias al proyecto B.
  • Agregue el flask al proyecto A y configúrelo en la ruta de comstackción.
  • Sube tu proyecto A a producción.

Parece que te falta una statement de importación en la parte superior de la JSP

Necesitas importar clases definidas por el usuario usando import

Ejemplo:

 <%@ page import="yourpackage.CollectionAppService" %>