我正在尝试构建一个相对简单的项目,并将Hibernate与maven包含在内.我正在尝试使用最新版本的Hibernate(3.5.4-Final).
似乎JBoss人员最近改变了他们的maven存储库,我在使maven构建工作时遇到了一些问题.我在网上和这里找到了很多信息,但似乎没有什么工作正常......我发现的很多信息都不能让我得到最新版本的Hibernate.
我在我的pom.xml中定义了以下存储库:
<repository>
<id>jboss-public-repository-group</id>
<name>JBoss Public Repository Group</name>
<url>https://repository.jboss.org/nexus/content/repositories/releases</url>
</repository>
Run Code Online (Sandbox Code Playgroud)
我在我的pom.xml中定义了以下依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.5.4-Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这似乎下载了一些依赖项,但还不足以构建.
我收到以下错误:
Downloading: http://repo1.maven.org/maven2/org/hibernate/hibernate/3.5.4-Final/hibernate-3.5.4-Final.jar [INFO] Unable to find resource 'org.hibernate:hibernate:jar:3.5.4-Final' in repository central (http://repo1.maven.org/maven2)
我已经阅读了JBoss所说的阅读Maven入门 - 用户的页面,说实话,这对我没有任何意义.它说把东西放在我的settings.xml中.我想将信息放在我的pom.xml中,而不是要求每个人都修改settings.xml.我不是一个专家.我真的想知道在我的pom.xml文件中放入什么来使其工作.
Sea*_*oyd 17
问题是这种依赖性
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.5.4-Final</version>
<!-- <type>jar</type> is implied here -->
</dependency>
Run Code Online (Sandbox Code Playgroud)
只是一个pom,而你试图将它作为一个罐子引用.所以要引用它,你必须这样做:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.5.4-Final</version>
<type>pom</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这将抓住这个pom的传递依赖,但不是工件本身.但是,pom 只列出模块,而不是依赖项,因为它是hibernate的根pom.它不会帮助你,不管它.
所以你真正想要的是
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.5.4-Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
(对于经典的休眠)或
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.5.4-Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
(对于jpa2提供商)
| 归档时间: |
|
| 查看次数: |
9100 次 |
| 最近记录: |