[ 
https://issues.apache.org/jira/browse/FELIX-995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12855351#action_12855351
 ] 

David Savage commented on FELIX-995:
------------------------------------

Yep I recently ran into the javax.transaction:1.6 problem in relation to 
deploying aries on felix. Here I get NoClassDefFoundError 

Stack Trace: org.osgi.framework.BundleException: Activator start error in 
bundle org.apache.aries.transaction.manager [34].
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1803)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1678)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
...
Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:700)
        at 
org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1872)

This is caused by the fact that the aries transaction manager bundle exports 
javax.transaction:1.3 and imports [1.3,2.0) and the aries bundle actually 
includes the full javax.transaction package.

In equinox this works fine as there they export the version as 0.0.0 so the 
import range ensures that it is not wired, but in felix the 1.6 version trumps 
the 1.3 version supplied by the bundle so it get's wired in its place but leads 
to a runtime failure.

Now I think one could also argue that in this case the version range should 
actually be [1.3,1.4) as they actually implement the API which would fix this 
specific case but in general it's still a problem for consumers.

> JRE packages are exported with wrong version
> --------------------------------------------
>
>                 Key: FELIX-995
>                 URL: https://issues.apache.org/jira/browse/FELIX-995
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.1
>         Environment: generic
>            Reporter: Sahoo
>
> Felix 1.4.1 exports JRE packages with a version equals to the JRE version. 
> e.g., if I am using Java SE 6, then all packages are exported with 
> version=1.6. This is incorrect. Most of the packages are versioned as per the 
> JSRs they are defined by.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to