包使用冲突org.springframework.orm.jpa.vendor

时间:2014-07-17 16:53:17

标签: spring osgi rcp equinox maven-bundle-plugin

在我的项目中,我得到的包使用冲突与spring bundle。我使用了这个链接中给出的技术

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 bundle的导出,因此也没有版本冲突。

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

0 个答案:

没有答案