Foros del Web » Programación para mayores de 30 ;) » Java »

Class not found Exception

Estas en el tema de Class not found Exception en el foro de Java en Foros del Web. Hola familia... Tengo el siguiente error al intentar indexar una tabla de mi BD con lucene, el o los errores son los siguientes: Código: Caused ...
  #1 (permalink)  
Antiguo 07/11/2014, 14:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 8 meses
Puntos: 0
De acuerdo Class not found Exception

Hola familia...
Tengo el siguiente error al intentar indexar una tabla de mi BD con lucene, el o los errores son los siguientes:

Código:
Caused by: java.lang.NoClassDefFoundError: org/hibernate/search/jpa/Search
	at ec.jasoft.inpc.reportes.action.OpcionesReportesCoordenadasAction.InitIndexes(OpcionesReportesCoordenadasAction.java:263) [:]
	... 79 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.search.jpa.Search from BaseClassLoader@3684dc{vfs:///E:/INPC/jboss-6.1.0.Final/server/default/deploy/inpc.war}
	at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:480) [jboss-classloader.jar:2.2.1.GA]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [:1.7.0_67]
	... 80 more
Supongo que lo que suceda es que no encuentra la clase org.hibernate.search....; pero ahi es donde esta mi problema yo le incluí en el classpath el .jar(hibernate-search.jar), también le inclui el del lucene(lucene-core.jar) y todos los que necesita, hibernate-common-anotations.jar, etc. etc. Ahora la verdad no se que es lo que me pudiera estar sucediendo, que no estoy haciendo, de que otra forma le adiciono las librerias al proyecto.
Me he dado cuenta que dentro del proyecto(el cual no cree yo desde el principio) existe una carpeta que se llama "Exploded-archives/WEB-INF/inpc.war/lib" que dentro tiene tiene algunos .jar; pero no tiene ninguno de hibernate, ni tan siquiera el core de hibernate, no se si por ahí estaría la situación, la verdad no se. Alguien que pudiera darme su opinión. Saludos y Gracias de ante mano.
  #2 (permalink)  
Antiguo 07/11/2014, 14:49
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Class not found Exception

¿A qué le llamas incluir en el classpath? ¿Estás desplegando desde un IDE o directamente en el jboss?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 07/11/2014, 16:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Class not found Exception

En el Eclipse... Estoy trabajando con JBoss-Seam 2.2, no estoy utilizando Maven. En el fichero de Seam deployed-jars.list adicioné los jars que supuestamente no está encontrando, es decir, hibernate-search.jar, hibernate-common-anotation.jar, lucene-core.jar; pero me da entonces un error de deployments. Gracias...
  #4 (permalink)  
Antiguo 07/11/2014, 18:21
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Class not found Exception

No tengo ni idea de seam, ni siquiera sé lo que es, pero por lo que acabo de ver como cualquier proyecto en eclipse necesita que las librerías estén en el build path de eclipse, aunque tengas el fichero deployed-jars.list

https://developer.jboss.org/thread/1...tart=0&_sscc=t
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 07/11/2014, 20:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Class not found Exception

Xerelo...
Estuve mirando el binculo que me recomendaste y es posible que esté la respuesta a lo que ando buscando, para eso tengo que esperar a mañana sabado cuando vaya al trabajo, no tengo el proyecto en estos momento desplegado aqui en la casa. Gracias por responderme... JBoss-Seam es un framework de java. Saludos.
  #6 (permalink)  
Antiguo 08/11/2014, 02:37
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Class not found Exception

Buenas,

Cita:
Estoy trabajando con JBoss-Seam 2.2, no estoy utilizando Maven
No veo que nadie haya hablado de Maven.

En mi opinión el tema es sencillo. Has incluido los Jar para compilar en tu IDE pero no los estás desplegando en el servidor, por lo que en tiempo de ejecución no los encuentra.
Tienes que asegurarte de que el lib de tu War incluye los jar con la implementación JPA de Hibernate.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #7 (permalink)  
Antiguo 08/11/2014, 06:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Class not found Exception

Profesor_falken...
Precisamente eso es lo que estoy haciendo, al principio no estaban incluidas las librerias en el War del proyecto por eso el error; pero ahora si lo están, le dije a Seam a través del fichero deployed-jars.list que incluyera las librerias de hibernate; pero ahora el error es el siguiente.

Código:
DEPLOYMENTS MISSING DEPENDENCIES:
  Deployment "jboss.j2ee:jar=inpc.war,name=TimerServiceDispatcher,service=EJB3_endpoint" is missing the following dependencies:
    Dependency "jboss.j2ee:jar=inpc.war,name=TimerServiceDispatcher,service=EJB3" (should be in state "Installed", but is actually in state "**ERROR**")

DEPLOYMENTS IN ERROR:
  Deployment "jboss.j2ee:jar=inpc.war,name=TimerServiceDispatcher,service=EJB3" is in error due to the following reason(s): java.lang.ClassCastException: org.hibernate.hql.ast.HqlToken cannot be cast to org.hibernate.hql.ast.HqlToken, **ERROR**

	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1228) [:2.2.2.GA]
	at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:905) [:2.2.2.GA]
	at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:87) [:6.1.0.Final]
	at org.jboss.profileservice.deployment.ProfileDeployerPluginRegistry.checkAllComplete(ProfileDeployerPluginRegistry.java:107) [:0.2.2]
	at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:135) [:6.1.0.Final]
	at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.1.0.Final]
	at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
	at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
	at java.lang.Thread.run(Thread.java:745) [:1.7.0_67]

07:51:49,765 INFO  [Http11Protocol] Arrancando Coyote HTTP/1.1 en puerto http-0.0.0.0-8080
07:51:49,765 INFO  [AjpProtocol] Arrancando Coyote AJP/1.3 en ajp-localhost%2F127.0.0.1-8009
07:51:49,765 INFO  [AbstractServer] JBossAS [6.1.0.Final "Neo"] Started in 1m:40s:156ms
Un Saludo... a muchas Gracias
  #8 (permalink)  
Antiguo 08/11/2014, 12:19
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Class not found Exception

Buenas,

Cita:
java.lang.ClassCastException: org.hibernate.hql.ast.HqlToken cannot be cast to org.hibernate.hql.ast.HqlToken, **ERROR**
Te está diciendo que has incluido en ejecución una librería diferente (o de distinta versión) de aquella con la que has compilado en el IDE.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #9 (permalink)  
Antiguo 10/11/2014, 08:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Class not found Exception

Imaginese usted...
Para mi entender todas las librerias son compatibles unas con otras en cuanto a versión, ya me tocará buscar cual es la que tiene problemas... No existirá alguna herramienta en el eclipse que de un reporte de posibles conflictos entre librerias o entre versiones.??? Saludos y Gracias.
  #10 (permalink)  
Antiguo 10/11/2014, 09:45
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Class not found Exception

Buenas,

Si estas en Eclipse, haz Ctrl+May+T y pon "org.hibernate.hql.ast.HqlToken". Te va a indicar cual es el jar exacto que esta utilizando.

Tienes que asegurarte de que sea el mismo jar que se esta utilizando en ejecucion (por ejemplo, metiendolo y/o desplegandolo en lib)

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #11 (permalink)  
Antiguo 11/11/2014, 13:27
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Class not found Exception

Hola,

Posiblemente,

Cita:
Iniciado por odsa Ver Mensaje
Código:
Caused by: java.lang.NoClassDefFoundError: org/hibernate/search/jpa/Search
....
Caused by: java.lang.ClassNotFoundException: org.hibernate.search.jpa.Search from BaseClassLoader@3684dc
....
org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:480) [jboss-classloader.jar:2.2.1.GA]
...
Supongo que lo que suceda es que no encuentra la clase org.hibernate.search....; pero ahi es donde esta mi problema yo le incluí en el classpath el .jar(hibernate-search.jar), también le inclui el del lucene(lucene-core.jar) y todos los que necesita, hibernate-common-anotations.jar, etc. etc. ....
Creo que tu problema está en el etc. etc.

Una de las ideas de Maven es evitar este tipo de inconvenientes, ¿estás completamente seguro que están todas las dependencias dentro del proyect, revisaste todos los proyectos de Hibernate para adivinar sus dependencias?, y adicionalmente ¿estas dependencias deberían estar incluidas o las provee alguien mas?

El error viene de una clase que tiene en su Canonical Name las palabras SPI, classloader y loadClass. Seguramente es un error de una clase que no encuentra en tiempo de ejecución, no importa el tiempo de compilación.

Cita:
Iniciado por odsa Ver Mensaje
...Precisamente eso es lo que estoy haciendo, al principio no estaban incluidas las librerias en el War del proyecto por eso el error; pero ahora si lo están, ...
El problema posiblemente es que estás incluyendo las librerías.

Cita:
Iniciado por odsa Ver Mensaje
... Para mi entender todas las librerias son compatibles unas con otras en cuanto a versión, ya me tocará buscar cual es la que tiene problemas... No existirá alguna herramienta en el eclipse que de un reporte de posibles conflictos entre librerias o entre versiones.???
Las librerías si son compatibles, una vez exista solamente una, si existen dos (sin importar si son la misma versión), y dos clases hacen referencia a cada una por aparte entonces dejan de ser compatibles.

Seguramente, porque de otra forma sería muy decepcionante, JBoss ya incluye Hibernate dentro de las librerías globales, como implementación de JPA, y al incluirlas tu dentro de tu proyecto, estás duplicandolas.

Como dije, anteriormente, no habría forma de saberlo en tiempo de compilación, eclipse no sabe que hay dentro del JBoss que estás usando y además la clase se carga con SPI y loadClass, por lo que hasta que está corriendo vas a saber si hay problemas de que la clase no existe o no se pudo cargar.

Posiblemente, tengas que incluir solamente la librería:
hibernate-search-orm-4.5.0.Final.jar

Que Wildfly ya la incluye, posiblemente tu JBoss todavía no, de eso no puedo estar seguro, pero allí, en ese JAR, posiblemente con diferente versión, está la implementación que te hace falta.

Saludos,
  #12 (permalink)  
Antiguo 12/11/2014, 08:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Class not found Exception

Cita:
HackmanC...
Seguramente, porque de otra forma sería muy decepcionante, JBoss ya incluye Hibernate dentro de las librerías globales, como implementación de JPA, y al incluirlas tu dentro de tu proyecto, estás duplicandolas.

Como dije, anteriormente, no habría forma de saberlo en tiempo de compilación, eclipse no sabe que hay dentro del JBoss que estás usando y además la clase se carga con SPI y loadClass, por lo que hasta que está corriendo vas a saber si hay problemas de que la clase no existe o no se pudo cargar.

Posiblemente, tengas que incluir solamente la librería:
hibernate-search-orm-4.5.0.Final.jar
Ahi estaba "el pollo del arroz con pollo" estaba incluyendo en el .war todas las librerias de hibernate; pero JBoss tiene internamente librerias de hibernate y como es lógico entraban en conflicto con las que yo tenía, de ahí los errores... Es decir, problema resuelto, muchas gracias por la ayuda a todos.

Etiquetas: clase, class, exception, found
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:50.