0

在我的项目中,我的包使用与弹簧包冲突。我使用了此链接中给出的技术

http://njbartlett.name/2011/09/02/uses-constraints.html

我收到包使用冲突:

initial@reference:file:../../../my_project_maven/my_project/myproject-core/ [2158]
  Package uses conflict: Import-Package:org.springframework.orm.jpa.vendor; version="2.5.6"

我搜索了导出 org.springframework.orm.jpa.vendor 的捆绑包;version="2.5.6" 发现了这个:

osgi> p org.springframework.orm.jpa.vendor
org.springframework.orm.jpa.vendor; version="2.5.6"<org.springframework_2.5.6 [2201]>
osgi>

所以我打开了springframework jar,看到了导出包的用途,发现了这些

javax.persistence,
javax.persistence.spi,
oracle.toplink.essentials.sessions,
org.apache.openjpa.persistence,
org.eclipse.persistence.sessions,
org.hibernate,
org.springframework.dao,
org.springframework.jdbc.datasource,
org.springframework.orm.jpa,
org.springframework.transaction

除上述之外,我的核心捆绑包唯一导入的是

javax.persistence;version="1.0.0"
org.springframework.dao;version="2.5.6"
org.springframework.orm.jpa;version="2.5.6"

Springframework 正在导入 1.0.0 的 javax.persistence 版本,而我的核心包也正在导入 1.0.0,因此那里没有版本冲突。还有这些进口

org.springframework.dao;version="2.5.6"

org.springframework.orm.jpa;version="2.5.6"

是从 springframework 包导出的,所以那里也没有版本冲突。

org.springframework.orm.jpa.vendor 包使用和我的核心包中的导入没有版本冲突。我不明白是什么导致了这个包使用冲突。有没有一种简单的方法来调试这些?

4

0 回答 0