2 Replies Latest reply on Aug 25, 2009 12:28 PM by thomas.diesler

    Package cannot have multiple exporters

    thomas.diesler

      Still working on the SimpleLogServiceTestCase

      When I add the PackageRequirement regardless of whether it is also part of the exports I get

      org.apache.felix.log:1.1.0.SNAPSHOT cannot be added because it is exports package org.osgi.service.log which conflicts with osgi.cmpn:4.2.0.200907101024
      
      
      2009-08-24 23:22:47,038 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController:1141] Error resolving dependencies for ClassLoader: name=vfszip:/home/tdiesler/svn/jboss-osgi/trunk/reactor/runtime/microcontainer/target/test-libs/bundles/org.apache.felix.log.jar/ state=Describe mode=Manual requiredState=Installed
      java.lang.IllegalStateException: VFSDeploymentClassLoaderPolicyModule org.apache.felix.log:1.1.0.SNAPSHOT cannot be added because it is exports package org.osgi.service.log which conflicts with VFSDeploymentClassLoaderPolicyModule osgi.cmpn:4.2.0.200907101024
       at org.jboss.classloading.spi.dependency.ClassLoadingSpace.join(ClassLoadingSpace.java:223)
       at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:120)
       at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:169)
       at org.jboss.classloading.spi.dependency.ClassLoadingSpace.resolve(ClassLoadingSpace.java:326)
       at org.jboss.classloading.spi.dependency.Module.resolveModule(Module.java:909)
       at org.jboss.classloading.spi.dependency.RequirementDependencyItem.resolve(RequirementDependencyItem.java:91)
      


      Is it true that the same package cannot have more than one exporter?

      The classical use case is compendium and some bundle that implements a compendium service (i.e. LogService). The implementing bundle usually also contains/exports the org.osgi.service.foo package that it implements.