5 Replies Latest reply on Oct 12, 2011 4:45 PM by michal.warecki

    Dependency chain problem

    michal.warecki

      Hi,

       

      I have problem with simple dependency chain:

      Bundle A:

      Export-Package:

      org.a,

      org.b;uses:="org.a",

       

      Bundle B:

      Import-Package:

      org.a,

      org.b

       

      I have to import package org.a and org.b but org.b uses org.a so there is a dependency chain. If I import only org.b then I don't have classes from org.a in classpath.

       

      How can I resolve this issue?

       

      Thanks

        • 1. Re: Dependency chain problem
          ffang

          Hi,

           

          In your bundle A you have

          org.b;uses:="org.a",

          the uses here is unnecessary, just remove it.

           

          Freeman

          • 2. Re: Dependency chain problem
            michal.warecki

            Thanks,

             

            Is there a simple way to tell Felix maven plugin to remove that 'uses' ?

            In Export-Package I used wildcard (i.e. org.*).

            • 3. Re: Dependency chain problem
              ffang

              Hi,

               

              You can explicitly specify each export package in Export-Package without "uses" directive

               

              Freeman

              • 4. Re: Dependency chain problem
                michal.warecki

                When I write each package separately then felix plugin automaticaly adds uses to each package.

                For example:

                org.servicebox.wsdl.extensions,

                org.servicebox.wsdl.extensions.http,

                org.servicebox.wsdl.extensions.mime,

                 

                produces:

                org.servicebox.wsdl.extensions;uses:="javax.persistence,javax.xml.namespace",

                org.servicebox.wsdl.extensions.http;uses:="org.servicebox.wsdl.extensions,javax.persist

                ence",

                org.servicebox.wsdl.extensions.mime;uses:="org.servicebox.wsdl.extensions,javax.persistence"

                 

                Is it possible to disable this "feature"?

                • 5. Re: Dependency chain problem
                  michal.warecki

                  Problem solved: uses don't couses dependency chain. It was coused by the multiple versions of same bundle. osgi:refresh helped