缺少工件:org.hibernate:hibernate-entitymanager:jar:3.3.2.ga

Cod*_*Med 6 java spring hibernate maven

我对Spring和maven相对较新,我只是在几个月内第一次重新审视它们.当我尝试运行本教程中的代码时,我在pom.xml中遇到以下错误:

Missing artifact: org.hibernate:hibernate-entitymanager:jar:3.3.2.ga  
Run Code Online (Sandbox Code Playgroud)

这是否意味着我必须下载并安装一个额外的jar?我很确定我用spring下载了hibernate,这得到了以下事实的支持:在tomcat服务器上从eclipse启动时,spring pet clinic示例应用程序在我的系统上正常运行.

我已经谷歌搜索此错误消息,并尝试了许多建议,但他们没有解决我的机器上的问题.如何通过此错误消息?


编辑/ ANSWER?

我挖掘了项目的目录结构,并找到了另一个没有抛出错误的pom.xml副本.它实际上使用了语法3.3.2.ga,所以我认为不是这个问题.新的pom.xml文件位于目标/ m2e-wtp/web-resources/META-INF/Maven/MavenWeb/MavenWeb /子目录的深处.当我将这个新的pom.xml移动到根目录时,错误消息消失了,即使该节点的语法仍然是:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.3.2.ga</version>
</dependency>  
Run Code Online (Sandbox Code Playgroud)

目前,这个问题已得到解答,至少在我试图稍后运行之前.让我考虑一下如何为人们在这方面所做的工作给予赞扬,同时仍然让那些在搜索引擎上找到这个问题的人明白答案.

Ral*_*lph 5

Maven将自动从maven中央存储库下载所需的jar.

但我没有org.hibernate:hibernate-entitymanager:jar:3.3.2.gamaven中心找到,而是使用3.3.2.GA带有大写GA的版本!:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-entitymanager</artifactId>
  <version>3.3.2.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

在Windows上你有另一个问题(因为Windows文件系统不区分大写和小写文件名):你需要删除一个目录:

c:\documents\<yourName>\.m2\repository\org\hibernate\hibernate-entitymanager\3.3.2.ga\
Run Code Online (Sandbox Code Playgroud)

删除此目录并再次尝试eclipse更新maven依赖项.


gre*_*pit 1

您可能已经按照您的描述下载了 hibernate,但它可能是不正确的版本。无论如何,请确保更改 pom.xml 文件,其中定义 hibernate-entitymanager 如下所示。(因为这就是它将寻找的确切版本)

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.3.2.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)