validator tutorial español consola comandos hibernate maven-2 dependencies pom.xml

tutorial - ¿Cómo puedo usar Maven para obtener la última versión de Hibernate?



hibernate-entitymanager maven (7)

Tengo problemas para obtener la última versión de Hibernate a través de la dependencia de Maven. Parece que lo último que puedo obtener de un repositorio central de Maven es 3.2.6.GA, y estoy interesado en utilizar 3.3.2.GA, que es la última versión que se muestra en el sitio de hibernate.org. Cuando modifico mi dependencia de hibernación a esta última versión en pom.xml de mi proyecto, obtengo el siguiente error cuando ejecuto una compilación de Maven:

Missing: ---------- 1) org.hibernate:hibernate:jar:3.3.2.GA Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.hibernate -DartifactId=hibernate -D version=3.3.2.GA -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=org.hibernate -DartifactId=hibernate -Dve rsion=3.3.2.GA -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[ id]

Una vez que lo hago, continúo recibiendo errores que indican que necesito agregar una dependencia de javassist, luego tengo que actualizar mi dependencia hibernate-validator, que también debe instalarse localmente, y en ese momento me detuve y miré alrededor para ver si hay una mejor manera, tal vez señalando a Maven a un repositorio de JBoss / Hibernate, etc. Esto realmente parece ser un dolor de cabeza en comparación con otros paquetes de código abierto importantes que uso como Spring o JUnit, cuando hay una nueva versión que se lanza todo do es actualizar el número de versión en el elemento de dependencia y simplemente funciona.

He intentado agregar la declaración del repositorio a continuación en mi pom.xml pero sin alegría:

<repositories> <repository> <id>jboss</id> <url>http://repository.jboss.org/maven2</url> </repository> </repositories>

Busqué en Google y no encontré mucho que ayude. ¿Puede alguien sugerir la forma más directa de utilizar las últimas versiones de hibernate o hibernate-core (3.3.2.GA), hibernate-validator (3.1.0) e hibernate-annotations (3.4.0)?


Es frustrante, pero las versiones más nuevas simplemente no están allí, y no lo han sido por mucho tiempo. La ironía es que los artefactos de Hibernate tienen algunas interdependencias bastante intrincadas y versiones mínimas bien documentadas de esas dependencias, que se representarían idealmente como un Maven POM. En cambio, tenemos que descargar los binarios nosotros mismos y tratar de expresarlos localmente.


Estás teniendo problemas porque org.hibernate: hibernate: 3.3.2.GA es un POM agregador utilizado para compilar el resto de los módulos, en realidad no es un jar. Parece que ocurrió una refactorización después de 3.2.7 y eso ha expulsado a la gente. Como referencia, esta entrada de blog alude a los problemas que han tenido al promocionar Hibernate como central y puede explicar el cambio.

Si busca en el repositorio de JBoss , verá que los módulos de hibernación para 3.3.2.GA están alojados, están alojados como artefactos individuales, hibernate-core, hibernate-ehcache, etc. Por lo tanto, su declaración de repositorio es correcta, solo necesita ajustar las declaraciones de dependencia para tener en cuenta el cambio.

El repositorio JBoss aloja hibernate-annotations-3.4.0.GA , hibernate-validator-3.1.0.GA e hibernate-core-3.3.2.GA entre otros. Intente agregar los artefactos específicos a su POM y use el repositorio de JBoss como ya ha declarado.

También hay un pom de hibernate-dependencies que proporciona dependencias transitivas a la mayoría de los artefactos de hibernación (incluido el núcleo). Entonces, lo más simple sería reemplazar su declaración de dependencia de hibernación existente con dependencias de hibernación

Tus dependencias terminarían así ...

<dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-dependencies <!--or hibernate-core--></artifactId> <version>3.3.2.GA</version> <type>pom</type> <!--hibernate-dependencies is a pom, not needed for hibernate-core--> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.4.0.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>3.1.0.GA</version> </dependency> ... <!--any other hibernate deps not inherited transitively-->

Para simplificar su vida, podría definir todas estas dependencias de hibernación en un proyecto denominado (hibernar-todo), luego hacer referencia a ese único proyecto para todos sus proyectos que usen hibernación (por supuesto, sería bueno si el equipo hibernte proporcionara ese proyecto de todos modos )


Esta pregunta está desactualizada desde hace mucho tiempo: todos los lanzamientos de Hibernate están disponibles en Maven central desde hace años.

Visite www.hibernate.org para conocer las últimas coordenadas de Maven (no confíe en las sugerencias de su IDE).


JBoss comenzó a sincronizar su propio repositorio con Maven central, tal como se publicó en el blog de la comunidad JBoss , por lo tanto, hibernate artefactos de hibernate ahora están disponibles sin la necesidad de agregar el repositorio JBoss a su pom.xml o administrador de repositorio.

Resultado de la búsqueda hibernate-core :

Para agregar Hibernate Core 3.6.3 a su proyecto, simplemente agregue el siguiente fragmento a su pom:

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.3.Final</version> </dependency>


Puedes usar la dependencia en tu pom.xml

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.6.ga</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.3.1.GA</version> </dependency>


los tarros faltan en el repositorio, tal vez esa es la razón por la cual la última versión de hibernación no está en el repoistorio principal


nuevo en esto y jugando con eso. No tengo una solución completa PERO:

Parece que pude resolver algunas dependencias al incluir http://repository.jboss.com/maven3/ lugar de maven 2.

para aquellos que siguen siendo problemáticos, uno puede como último recurso descargar los archivos que faltan del sitio de maven, por ejemplo, navegar:

http://repo1.maven.org/maven2/org/hibernate/hibernate-core/3.6.8.Final/

(Sí, intenté establecer este y otros caminos razonables como fuente de repositorio, pero sin éxito ...)

para instalar este jar en tu build de maven, haz algo como:

mvn install:install-file -Dfile=path/to/jar/hibernate-core-3.6.8.Final.jar -DgroupId=org.hibernate -DartifactId=hibernate-core -Dversion=3.6.8-Final -Dpackaging=jar

referencia: http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

Lo siento, me acabo de dar cuenta de que algo de esto es redundante, pero espero que sea útil para algunos ver las posibles URL adicionales. - JB