如何通过 Maven2 pom.xml 获取 Hibernate + javax.persistence

Posted

技术标签:

【中文标题】如何通过 Maven2 pom.xml 获取 Hibernate + javax.persistence【英文标题】:How to get Hibernate + javax.persistence via Maven2 pom.xml 【发布时间】:2011-04-23 18:34:32 【问题描述】:

我是 Maven2 的新手,我写了一个 pom.xml。 现在我想让 Hibernate 和 javax.persistence 解决这个问题:

import javax.persistence.Entity;
...
import org.hibernate.annotations.Fetch;
...

需要做什么?我在我的 pom.xml 中写道:

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

但是我得到一个错误(我已经得到了一些其他的依赖,但是 Hibernate 不起作用):

11.10.10 13:19:53 MESZ: Refreshing [/testProject/pom.xml]
11.10.10 13:19:54 MESZ: Missing artifact org.hibernate:hibernate:jar:3.5.6-Final:compile
11.10.10 13:19:54 MESZ: Maven Builder: AUTO_BUILD 
11.10.10 13:19:55 MESZ: Maven Builder: AUTO_BUILD

那么,这里有什么问题?为什么它不知道神器?

在此先感谢您并致以最诚挚的问候。

【问题讨论】:

【参考方案1】:

声明 JBoss 存储库:

<project>
  ...
  <repositories>
    <repository>
      <id>repository.jboss.org-public</id>
      <name>JBoss repository</name>
      <url>https://repository.jboss.org/nexus/content/groups/public</url>
    </repository>
    ...
  </repositories>
  ...
</project>

然后是下面的依赖:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>3.5.6-Final</version>
    </dependency>
    ...
  </dependencies>
  ...
</project>

这就是你所需要的,其他依赖项将被传递。

【讨论】:

感谢您的回答,但我得到:11.10.10 13:27:50 MESZ: [WARN] Missing POM for org.hibernate:hibernate-entitymanager:jar:3.5.6-Final 11.10 .10 13:27:51 MESZ:缺少工件 org.hibernate:hibernate-entitymanager:jar:3.5.6-Final:compile @Tim 哦,我假设您已经声明了 JBoss 存储库。我已经更新了我的答案。 好的,现在可以了,javax.persistence.* 可以解决,但不能解决例如“import org.hibernate.annotations.Fetch;”抱歉,重启我的工作台后,解决了! @Tim 无论如何,您都不应该将休眠注释与 JPA 注释混合使用。如果您要添加专有代码,那么使用像 JPA 这样的开放标准是没有意义的。如果您想要 JPA 没有的休眠功能,请使用普通休眠。但是,如果您使用 JPA,请学会接受它的限制。 显然现在不需要指定 JBoss 存储库,因为软件包已添加到 Maven Central

以上是关于如何通过 Maven2 pom.xml 获取 Hibernate + javax.persistence的主要内容,如果未能解决你的问题,请参考以下文章

如何在 maven repo 下获取所有 pom.xml

maven2中settings.xml的本地配置访问优先级大于其全局性配置吗?

在myeclipse中maven项目关于ssh整合时通过pom.xml导入依赖是pom.xml头部会报错

如何配置 Maven2 发布到 Artifactory?

配置 Maven 2 POM Editor 以源模式打开 pom.xml 文件

如何抑制从父 pom.xml 运行 maven-javadoc-plugin?