Hi,
Frankly speaking, the OSGi MANIFEST.MF from woden is a mess. It is generated
from maven-bundle-plugin and I don't think it has been carefully cleaned up.
To answer your question, here is the what I found out:
1) Bundle org.apache.woden.woden-api exports the "org.apache.woden" packages
with a "uses" directive. Please note "javax.xml.namespace" is referenced.
org.apache.woden;uses:="org.apache.woden.wsdl20,javax.xml.namespace,org.apache.woden.wsdl20.xml,
org.apache.woden.wsdl20.extensions,org.apache.woden.resolver";version="1.0"
2) Bundle org.apache.woden.woden-impl-dom imports both "org.apache.woden"
and "javax.xml.namespace" packages:
org.apache.woden;version="1.0"
javax.xml.namespace;version="1.0.0"
For 2), since it imports org.apache.woden which uses javax.xml.namespace
(0.0.0), so javax.xml.namespace 0.0.0 should be selected. But it also has a
direct import to javax.xml.namespace 1.0.0. There is a conflict.
The woden bundle has other issues too, for example, importing
org.apache.xecers packages which make the XML parser not replaceable. We
might have to raise JIRAs in woden to get them fixed.
Thanks,
Raymond
From: Simon Laws
Sent: Monday, February 02, 2009 3:52 AM
To: tuscany-dev
Subject: [2.x] package uses conflict
While I'm getting clean builds in Eclipse and Maven I've just noticed that
Eclipse is reporting a package uses conflict in the PDE state window
org.apache.axis2.kernel(1.4.0)
Package uses conflict: Import-Package: javax.mail; version="0.0.0"
Package uses conflict: Import-Package: javax.mail; version="0.0.0"
org.apache.tuscany.sca.binding.ws.axis2(2.0.0)
Missing constraint: Fragment-Host: org.apache.axis2.kernel;
bundle-version="0.0.0"
Missing constraint: Fragment-Host: org.apache.axis2.kernel;
bundle-version="0.0.0"
org.apache.woden.woden-impl-dom (1.0.0)
Package uses conflict: Import-Package:org.apache.woden; version="1.0.0"
The odd thing is I've looked at this a couple of times just now either side
of an Eclipse reference and the "package uses conflict" that
org.apache.axis2.kernel is reporting changed from some woden problem to this
javax.mail problem.
Seems a little strange but is this something to do with our association of
binding-ws-axis2 with the axis kernel as a fragment. As far as I can tell
binding-ws-axis doesn't depend directly on either javax.mail or
org.apache.woden.
The other odd thing I see in Eclipse is that the manifest for
binding-ws-axis2 only opens in the manifest editor if I open it from the PDE
status panel. If I open it from the project it opens in a text editor thing.
Any ideas?
Simon