2010-04-29 11 views
5

Me gustaría utilizar hibernate-3.5-1.Final junto con este complemento, lo que deberían ser mis dependencias aquí. Parece estar recogiendo un conjunto de jarras más antiguas y fallando en este momento.dependencias de hibernate3-maven-plugin para la versión más reciente de hibernate

  <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>hibernate3-maven-plugin</artifactId> 
       <version>2.2</version> 
      </plugin> 

EDIT1:

[INFO] class org.hibernate.cfg.ExtendedMappings has interface org.hibernate 
.cfg.Mappings as super class 
[INFO] -------------------------------------------------------------------- 
---- 
[INFO] Trace 
java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.ExtendedMap 
pings has interface org.hibernate.cfg.Mappings as super class 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.ja 
va:124) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) 
     at java.net.URLClassLoader.access$000(URLClassLoader.java:56) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:195) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
     at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmC 
lassLoader.java:195) 
     at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClas 
sRealm.java:255) 
     at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLo 
ader.java:214) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
     at org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings 
(AnnotationConfiguration.java:187) 
     at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(Anno 
tationConfiguration.java:277) 
     at org.hibernate.cfg.Configuration.buildMappings(Configuration.java 
:1206) 
     at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configurat 
ion.java:1226) 
     at org.hibernate.ejb.EventListenerConfigurator.configure(EventListe 
nerConfigurator.java:173) 
     at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration. 
java:854) 
     at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration. 
java:191) 
     at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration. 
java:253) 

Respuesta

4

que era capaz de conseguir este trabajo con el siguiente conjunto de dependencias (es decir 3.5.1-final para todos los frascos de hibernación)

   <dependencies> 
        <dependency> 
         <groupId>org.hibernate</groupId> 
         <artifactId>hibernate-core</artifactId> 
         <version>${hibernate-core.version}</version> 
        </dependency> 

        <dependency> 
         <groupId>org.hibernate</groupId> 
         <artifactId>hibernate-entitymanager</artifactId> 
         <version>${hibernate-entitymanager.version}</version> 
        </dependency> 

        <dependency> 
         <groupId>org.hibernate</groupId> 
         <artifactId>hibernate-annotations</artifactId> 
         <version>${hibernate-annotations.version}</version> 
        </dependency> 

        <dependency> 
         <groupId>org.hibernate</groupId> 
         <artifactId>ejb3-persistence</artifactId> 
         <version>3.3.2.Beta1</version> 
        </dependency> 

        <dependency> 
         <groupId>org.hibernate</groupId> 
         <artifactId>hibernate-tools</artifactId> 
         <version>${hibernate-tools.version}</version> 
        </dependency> 
       </dependencies> 
+0

Me alegro de que esté funcionando, pero sigo sin entender qué hizo exactamente y dónde declaró estas dependencias (¿dentro del complemento?). Por cierto, teóricamente no deberías declarar hibernate-core e hibernate-anotations, hibernate-entitymanager los extrae de forma transitiva. Y no creo que se requiera ejb3-persistence para JPA 2.0. –

+0

Agregué estas dependencias para el hibernate3-maven-plugin. Sin la última versión de ejb3-persistence, no funcionaría. – Sam

+0

Esto funciona para mí también. También pude omitir el '' para hibernate-tools JAR, ya que no pude encontrar una versión más nueva y la versión anterior de hibernate-tools parece funcionar bien con el hibernate-core y ejb3-persistence más recientes. artefactos. –

2

Es difícil decir exactamente lo que está sucediendo, pero el hecho es que la versión 2.2. de hibernate3-maven-plugin declara hibernate-core 3.3.1.GA y hibernate-tools 3.2.3.GA como dependencias y se compila contra esas versiones. ¿Trataste de reemplazarlos? Si es así, no creo que pueda (especialmente porque parecen introducir cambios no compatibles).

Dicho esto, esto no debería evitar que declare hibernate-entitymanager-3.5.1-Final como dependencia en su proyecto y permita que el complemento use otras versiones (que debería ser el comportamiento predeterminado).

+0

Gracias Tengo este ayer el trabajo con las dependencias que he mencionado anteriormente. Necesitaba todas las dependencias anteriores, no solo el contenedor principal – Sam

1

tuve un problema similar.

Después de ejecutar "mvn dependencia: Árbol", vi que unitils-DBUnit: 3.1 dependido de un hibernate.jar mayor ...

[INFO] +- org.unitils:unitils-dbunit:jar:3.1:test 
[INFO] | +- org.unitils:unitils-core:jar:3.1:test 
[INFO] | | +- commons-logging:commons-logging:jar:1.1:test 
[INFO] | | +- commons-lang:commons-lang:jar:2.5:test (version managed from 2.3) 
[INFO] | | \- ognl:ognl:jar:2.6.9:test 
[INFO] | +- org.unitils:unitils-database:jar:3.1:test 
[INFO] | | +- org.unitils:unitils-dbmaintainer:jar:3.1:test 
[INFO] | | | \- org.hibernate:hibernate:jar:3.2.5.ga:test 

Mover las bibliotecas de Hibernate antes la dependencia unitils resuelto el problema. El orden importa

Buena suerte, J.

1

Para la configuración de Hibernate 3.6.0.Final que el plug-in de la siguiente manera:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>hibernate3-maven-plugin</artifactId> 
    <version>2.2</version> 
    <dependencies> 
     <dependency> 
      <groupId>xerces</groupId> 
      <artifactId>xercesImpl</artifactId> 
      <version>2.9.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.6.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>3.6.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.1.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>com.microsoft</groupId> 
      <artifactId>sqljdbc4</artifactId> 
      <version>3.0.1301</version> 
     </dependency> 
    </dependencies> 
</plugin> 
Cuestiones relacionadas