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

cxf-rt-transports-http-3.1.1.jar contains OSGi interface classes

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.1.4
    • Component/s: Transports
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      The cxf-rt-transports-http-3.1.1.jar contains several OSGi HTTP interface classes and the classes are exported in the OSGi Export-Package for the bundle.

      ...
      org/osgi/
      org/osgi/service/
      org/osgi/service/http/
      org/osgi/service/http/HttpContext.class
      org/osgi/service/http/HttpService.class
      org/osgi/service/http/NamespaceException.class
      org/osgi/service/http/package.html
      org/osgi/service/http/packageinfo
      ...
      
      Export-Package: org.osgi.service.http;version="1.2.1",...
      

      The bundle should not export classes from the OSGi HTTP spec in Export-Package; it is the responsibility of the OSGi HTTP service to export the specification classes.

      The inclusion of the classes also causes problems for us because we have a Java project with a large classpath (including CXF). We embed an OSGi container inside the outer JVM and we run into problems if CXF is in the outer classpath because the classes in cxf-rt-transports-http-3.1.1.jar cause classloading conflicts with the OSGi HTTP service inside the OSGi container.

      You should eliminate the interface classes from the JAR to prevent problems like this.

        Attachments

          Activity

            People

            • Assignee:
              ffang Freeman Fang
              Reporter:
              soleger Seth Leger
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: