在homnate的pom.xml中:
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</dependency>
没有版本。但是当我在Eclipse中添加我的应用程序pom时,我收到错误 该版本必须是。为何如此区别? 感谢。
答案 0 :(得分:4)
2.0是JPA支持的版本而不是工件的版本
试
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
嫩
答案 1 :(得分:2)
Maven需要知道要下载/检查的版本。
添加version
元素作为dependency
的子元素。
答案 2 :(得分:2)
有两种方法可以解决这些问题:
- 插入自己的版本,以便Maven知道你需要什么依赖(它可以在本地存储库中搜索它或从maven存储库下载,或者你可以给它一个从哪里下载它的链接)
-add使用您正在调用的工件的父级,然后您不需要该版本(它采用父级版本)
答案 3 :(得分:1)
您在hibernate的依赖项中看到的提取实际上有一个版本,它在父pom中的dependencyMgmt部分中定义。这允许只在一个地方定义要使用的版本,并且该父pom的所有子节点只需要指示他们想要的依赖项,并且它们会自动获得父节点中指定的版本。
在您的案例中添加<version>
,或者在pom.xml中使用dependencyMgmt部分来指示您想要的hibernate-jpa-2.0-api版本。