Ver Mensaje Individual
  #11 (permalink)  
Antiguo 11/11/2014, 13:27
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 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,