Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/12/2008, 02:04
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Respuesta: org.apache.jasper.JasperException:

Eummm si y no .

Es decir: Si, el classpath es una indicación de de donde puede cargar las clases que se usan y por tanto tienes que tener una copia de todas las clases que uses indicada en el classpath, de alguna forma.

Y no, por que algunas clases ya pueden venirte por defecto en el classpath y no hace falta que tu las añadas. Por ejemplo, para compilar en tu proyecto seguramente añadas al classpath las clases javax.servlet.* etc. que estaran en un servlet.jar o similar. En tu aplicacion web no hace falta poner eso en WEB-INF/lib por que el contenedor de servlets ya tiene ese .jar y lo añade automaticamente al classpath de todas las aplicaciones web. Y eso puede pasar con las clases que los contenedores web ya traen por defecto: APIs estandar, librerias de tag estandar...

Cuando hay dos copias, o mas, de la misma clase en el classpath, es cuando suelen saltar errores como el que muestras: java.lang.NoClassDefFoundError. A veces tambien pueden saltar si lo que falta no es una clase que tu uses, si no una clase que use una clase que tu uses... La que tu uses quizá esté, pero esta puede tener tambien sus dependencias.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.