1 Reply Latest reply on Dec 9, 2015 3:09 PM by Sundar Munirathnam Rajendran

    Handling of third party JAR's in Fuse.

    Tiago Matias Newbie



      I have a CXF service running on Apache ServiceMix 4. In the interests of science I'm trying to install it on Fuse since we're planning a migration from apache servicemix to fuse.


      The problem is the dependencies. On this particular instance my service depends on javax.jws:




      If I add my webservice to a profile I get this error:


      Caused by: java.lang.Exception: Unable to start bundle 285: Unresolved constraint in bundle XPTO [285]: Unable to resolve 285.1: missing requirement [285.1] osgi.wiring.package; (&(osgi.wiring.package=javax.jws)(version>=2.0.0)(!(version>=3.0.0)))


      So I tried to manually add jaxws-api v2.1 to the profile:

      JBossFuse:admin@root> profile-edit  -b mvn:javax.xml.ws/jaxws-api/2.1 test-xpto
      Adding bundle:mvn:javax.xml.ws/jaxws-api/2.1 to profile:test-xpto version:1.0


      But that throws me an exception saying that

      org.osgi.framework.BundleException: Unsupported 'Bundle-ManifestVersion' value: 1



      So with this I have a couple of questions:


      1) Is there a way to check which bundle is providing a particular JAR? It appears that version 3.0.0 of javax.jws is installed but I'm usure of that bundle is exporting it.

      2) Is there a way to overcome that Bundle-ManifestVersion: 1 for a third party JAR? Without downloading the sources and making a new POM, that is...

      3) Must the dependencies always be managed "by hand"? Is there a mechanism for fuse to download, through public maven repositories, all the required jars? After all they are identified on the POM of my project.



      Thank you very much