Uploaded image for project: 'CXF Distributed OSGi (Retired)'
  1. CXF Distributed OSGi (Retired)
  2. DOSGI-151

java.lang.NoClassDefFoundError: org/apache/log4j/Logger

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 1.4.0
    • None
    • common
    • None
    • 1 JDK 1.6
      2 zookeeper-3.4.5
      3 Windows XP Sp2
      4 DOSGi 1.4 Trunk SnapShot

    • Unknown

    Description

      While using DOSGi Discovery with zookeeper, if not putting/installing log4j bundle, the following exception will be thrown:

      D:\gf\org.apache.felix.main.distribution-4.0.3\felix-framework-4.0.3>java -jar bin\felix.jar
      ERROR [org.osgi.service.cm.ManagedService, id=11, bundle=1]: Unexpected problem updating Configuration PID=org.apache.cxf.dosgi.discovery.zookeeper, factoryPID=null, bundleLocation=file:/D:/gf/org.apache.felix.main.distribution-4.0.3/felix-framework-4.0.3/bundle/cxf-dosgi-ri-singlebundle-distribution-1.4-SNAPSHOT.jar
      java.lang.NoClassDefFoundError: org/apache/log4j/Logger
      at org.apache.zookeeper.ZooKeeper.<clinit>(ZooKeeper.java:108)
      at org.apache.cxf.dosgi.discovery.zookeeper.ZooKeeperDiscovery.createZooKeeper(ZooKeeperDiscovery.java:111)
      at org.apache.cxf.dosgi.discovery.zookeeper.ZooKeeperDiscovery.updated(ZooKeeperDiscovery.java:72)
      at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1160)
      at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger not found by cxf-dosgi-ri-singlebundle-distribution [1]
      at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
      at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
      at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      ... 6 more
      ____________________________
      Welcome to Apache Felix Gogo

      Although this can be considered as a user error, dosgi-discovery[1] should give us more stating and let user can install log4j bundle in ahead of time.

      [1]:http://cxf.apache.org/dosgi-discovery.html

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tangyong TangYong
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: