2010-06-10 13 views
16
bauen Hinzufügen

ich hinzugefügt, um den JBoss Maven Repo auf meine pom.xml-Datei wie folgt ...pom.xml

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

Und ich hinzugefügt Hibernate selbst so ...

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

Aber wenn ich versuche, meine Anwendung ich diesen Fehler sehen zu bauen ....

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

Bitte beachten Sie, dass alle zukünftigen JBoss-Artefakte im alten Repository nicht verfügbar sind. JBoss zieht in eine [neue Maven-Repository-Infrastruktur] um (http://community.jboss.org/en/build/blog/2010/04/20/Announcement--new-maven-repository-infrastructure). –

Antwort

21

Wie seanizer erwähnt, ist die org.hibernate:hibernate:pom:3.5.1-Final Artefakt ein Aggregationsmodul vom Typ pom (es aggregiert die Hibernate Core-Module). Sie könnten sich also darauf verlassen, indem Sie eine <type>pom</type> angeben. Aber ich persönlich würde eine Abhängigkeit von dem gewünschten Modul, zum Beispiel für Hibernate Entity-Manager erklären:

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

Oder für Hibernate Kern:

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

das ist natürlich richtig. Ich habe gerade die Frage beantwortet, während die Antwort auf eine implizierten bessere Frage wäre der Weg gewesen :-) –

+0

Ah drat, Sie schon 66666 gegangen! : o) – BalusC

+1

@BalusC: Ich habe einen Screenshot gemacht! > :) –

10

die Hibernate-Artefakt vom Typ pom ist (dh es ist nur ein Wrapp ist für andere Projekte). Dazu:

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

(wenn Sie den Typ auslassen, Maven werden versuchen, das Artefakt als ein Glas zu lösen, die in diesem Fall nicht vorhanden ist)

+0

+1 für den Grund des Fehlers –

3

Dies ist, wie ich es geschafft, Hibernate und JPA hinzufügen 2 Mein Projekt

. . . 

<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> 

. . .