3 Replies Latest reply on Jul 26, 2012 2:16 AM by Freeman(Yue) Fang

    Is there way to tell 3rd party jar to which version of dependency to use

    Prathap VS Newbie

      Hi,

      I am using apache servicemic 4.4.1 for deploying bundles. In my application i am using commons-codec(version 1.4) which has specific class implementation which is not there in earlier commons-codec(1.3). And also i am using acegi-security (version 1.7).

       

      When i deploy the commons-codec and acegi-security jars in servicemix's deploy jar, acegi-security is using the default commons-codec(version 1.3) bundle which is already available in servicemix. So is there any way we can mention that the acegi-security to use the latest version.

       

      When i tried to deploy my application bundle i am getting the below dependency error.

       

      Error executing command: Unable to resolve module easymaker-runtime http://252.0 because it is exposed to package 'org.apache.commons.codec.binary' from org.apache.commons.codec http://245.0 and org.apache.servicemix.bundles.commons-codec http://56.0 via two dependency chains.

       

      Chain 1:

      easymaker-runtime http://252.0

      import: (&(package=org.apache.commons.codec.binary)(version>=1.4.0))

       

      export: package=org.apache.commons.codec.binary

      org.apache.commons.codec http://245.0

       

      Chain 2:

      easymaker-runtime http://252.0

      import: (package=org.acegisecurity.providers.ldap.populator)

       

      export: package=org.acegisecurity.providers.ldap.populator; uses:=org.apache.commons.codec.binary

      acegi-security http://251.0

      import: (package=org.apache.commons.codec.binary)

       

      export: package=org.apache.commons.codec.binary

      org.apache.servicemix.bundles.commons-codec http://56.0

       

      Edited by: prathap on Jul 19, 2012 5:26 AM