JBoss Mavenリポジトリをpom.xmlファイルに次のように追加しました...
<repositories>
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/maven2/</url>
</repository>
</repositories>
そして、私はこのようにHibernate自体を追加しました...
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.5.1-Final</version>
</dependency>
しかし、アプリケーションをビルドしようとすると、このエラーが表示されます...
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.
seanizer で述べたように、org.hibernate:hibernate:pom:3.5.1-Final
アーティファクトはpom
タイプの集約モジュールです(Hibernate Coreモジュールを集約します)。したがって、<type>pom</type>
を指定することで、実際に依存することができます。しかし、たとえばHibernate Entity Managerの場合、必要なモジュールへの依存関係を個人的に宣言します。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.5.1-Final</version>
</dependency>
またはHibernate Coreの場合:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.5.1-Final</version>
</dependency>
hibernateアーティファクトはpomタイプです(つまり、他のプロジェクトのラッパーにすぎません)。これを行う:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.5.1-Final</version>
<type>pom</type>
</dependency>
(タイプを省略すると、mavenはアーティファクトをjarとして解決しようとしますが、この場合は存在しません)
これが私がHibernateとJPA 2をプロジェクトに追加した方法です
. . .
<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>
. . .