Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-2216

CXF Import-Package version specifiers causes 'uses' conflict

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.1
    • 2.2.6
    • OSGi
    • None
    • Equinox

    Description

      Equinox exports system packages as version=0.0.0. CXF bundle (and CXF bundle jaxrs) imports some of these packages as specific versions. This causes problems because:

      • Application Developer has to provide bundles for these packages instead of letting CXF use the packages that Equinox exports
      • When another bundle uses a system package specifying version=0.0.0, for example javax.mail;version=1.4.0 uses javax.activation;version=0.0.0, this causes "uses" conflict because CXF uses javax.mail;version=1.4.0 and javax.activation;version=1.0
      • My workaround was to patch the CXF jar manifest.mf to remove version specifiers in some packages it imports

      I've identified 5 packages that need to have its version specifier left out in CXF's Import-Package in order for my app to work:

      • javax.activation
      • javax.annotation
      • javax.xml.stream
      • javax.xml.stream.events
      • javax.xml.stream.util

      I'd vote for these import-packages to have no version specifier as well:

      • javax.resource
      • javax.resource.spi

      Thanks.

      Attachments

        1. config.ini
          5 kB
          Gary Pinkham

        Activity

          People

            dkulp Daniel Kulp
            ceefour Hendy Irawan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: