Hello I was checking how to make Pax Transx project more consistent wrt JTA 1.2 APIs. So I started digging and added my findings to https://github.com/ops4j/org.ops4j.pax.transx/issues/33
(btw - I've migrated first Pax project - Pax Transx - from OPS4J Jira to Github issues) I don't want to copy entire investigation here, but summarizing: - javax.transaction/javax.transaction-api/1.2 works best in Karaf because it has ... `Require-Bundle: system.bundle` - javax.transaction/javax.transaction-api/1.3 imports (but doesn't export) "javax.transaction.xa" package, which is exported by Karaf (and available in JDK 8/9+) only with confusing `partial=true; mandatory:=partial` decorations - Karaf should NOT export `javax.transaction` package in etc/jre.properties on JDK11, as there's no such package in JDK11. Fortunately it's also exported with the above decorations, so normal bundle (importing `javax.transaction` package) won't resolve anyway - the problematic bundle is DBCP2 which uses the _partial_ attribute, but fortunately (and even in more confusing way) only for `javax.transaction.xa` package, which is definitely not partial at all (it's complete both in JDK 8 and 9+) I invite you to comment under https://github.com/ops4j/org.ops4j.pax.transx/issues/33 if you have any ideas. kind regards Grzegorz Grzybek