Unfortunately the spec only defines the jpa package properties up to jpa 2.0. Do the OSGi specs already define JPA 2.1 somewhere?

I just checked some of the JPA API bundles and they provide very different package versions.

org.eclipse.persistence:javax.persistence:2.1.0 has javax.persistence;jpa="2.1";version="2.1.0"

org.apache.geronimo.specs:geronimo-jpa_2.1_spec:1.0-alpha-1 has javax.persistence;jpa="2.1";version="1.2"

Which of these is correct?

How would a client correctly express the dependency to the jpa 2.0 or 2.1 API? I see that there is also jpa=2.1 on the package export. Can the be used to describe the import?

Currently I use a version range of [2.1,2.2) in my own code. Not sure if this is correct.

I think it would also make sense to recommend specific maven coordinates for each persistence spec as a kind of offical spec bundle to use. Elese people might choose the wrong and end up with broken imports.


On 08.07.2016 15:41, Christian Schneider wrote:


On 08.07.2016 14:49, Raymond Auge wrote:
Christian could you file a bug on the public OSGi bugzilla so we don't forget to fix this?

I wonder if the spec bundle should refer to javax.persistence via Portable Java Contract rather then by package version. We have a similar issue with the org.osgi.service.http bundle which I believe should also refer to a PJC for javax.servlet.


- Ray

Christian Schneider

Open Source Architect

OSGi Developer Mail List

Reply via email to