2010-06-10 4 views
16

j'ai ajouté le fichier à mon pom.xml repo JBoss Maven comme ça ...Ajout Hibernate 3.5.x à un Maven pom.xml construire

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

Et j'ajouté Hibernate lui-même comme ça ...

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

Mais lorsque je tente de construire mon application, je vois cette erreur ....

Downloading: http://repository.jboss.org/maven2//org/hibernate/hibernate/3.5.1-Final/hibernate-3.5.1-Final.jar 
[INFO] Unable to find resource 'org.hibernate:hibernate:jar:3.5.1-Final' in repository jboss (http://repository.jboss.org/maven2/) 
Downloading: http://repo1.maven.org/maven2/org/hibernate/hibernate/3.5.1-Final/hibernate-3.5.1-Final.jar 
[INFO] Unable to find resource 'org.hibernate:hibernate:jar:3.5.1-Final' in repository central (http://repo1.maven.org/maven2) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Failed to resolve artifact. 

Missing: 
---------- 
1) org.hibernate:hibernate:jar:3.5.1-Final 

    Try downloading the file manually from the project website. 

    Then, install it using the command: 
     mvn install:install-file -DgroupId=org.hibernate -DartifactId=hibernate -Dversion=3.5.1-Final -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 -Dversion=3.5.1-Final -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] 

    Path to dependency: 
    1) stakeholdersupdate:stakeholdersupdate:war:1.0 
    2) org.hibernate:hibernate:jar:3.5.1-Final 

---------- 
1 required artifact is missing. 
+2

Veuillez noter que tous les futurs artefacts JBoss ne seront pas disponibles dans l'ancien référentiel. JBoss passe à une [nouvelle infrastructure de référentiel maven] (http://community.jboss.org/en/build/blog/2010/04/20/announcement--new-maven-repository-infrastructure). –

Répondre

21

Comme mentionné seanizer, l'artefact est org.hibernate:hibernate:pom:3.5.1-Final un agrégat de modules de type pom (il agrège les modules Hibernate Core). Vous pouvez donc en dépendre en spécifiant un <type>pom</type>. Mais personnellement, je déclare une dépendance sur le module recherché, par exemple pour Hibernate Entity Manager:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>3.5.1-Final</version> 
</dependency> 

Ou pour Hibernate Core:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>3.5.1-Final</version> 
</dependency> 
+0

c'est bien sûr. Je viens de répondre à la question, tout en fournissant la réponse à une meilleure question implicite aurait été la voie à suivre :-) –

+0

Ah drat, vous êtes déjà allé 66666! : o) – BalusC

+1

@BalusC: J'ai pris une capture d'écran! > :) –

10

l'artefact de mise en veille prolongée est de type pom (ce qui signifie qu'il est seulement WRAPP pour d'autres projets). faire:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate</artifactId> 
    <version>3.5.1-Final</version> 
    <type>pom</type> 
</dependency> 

(si vous laissez le type, Maven va essayer de résoudre l'artefact comme un pot, qui n'existe pas dans ce cas)

+0

+1 pour la raison de l'erreur –

3

Voilà comment je réussi à ajouter Hibernate et JPA 2 mon projet

. . . 

<repositories> 
    <repository> 
     <id>JBoss</id> 
     <name>The "public-jboss" repository group provides a combined view all JBoss community project artifacts</name> 
     <layout>default</layout> 
     <url>http://repository.jboss.org/nexus/content/groups/public-jboss</url> 
    </repository> 
</repositories> 

<dependencies> 

    . . . 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>3.5.5-Final</version> 
    </dependency> 

    . . . 

</dependencies> 

. . . 
Questions connexes