https://bugzilla.redhat.com/show_bug.cgi?id=845099
Bug ID: 845099 QA Contact: extras-qa@fedoraproject.org Severity: unspecified Version: 17 Priority: unspecified CC: fedora@matbooth.co.uk, java-sig-commits@lists.fedoraproject.org, mizdebsk@redhat.com, SpikeFedora@gmail.com Assignee: mizdebsk@redhat.com Summary: OSGi fails to resolve LogFactory Regression: --- Story Points: --- Classification: Fedora OS: Unspecified Reporter: arobinso@redhat.com Type: Bug Documentation: --- Hardware: Unspecified Mount Type: --- Status: NEW Component: apache-commons-logging Product: Fedora
When OSGi tries to resolve org.apache.commons.logging.LogFactory it fails with error similar to below. Does not happen in Rawhide after f18 mass rebuild. Perhaps f17 needs a rebuild?
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.http.impl.client.AbstractHttpClient.<init>(AbstractHttpClient.java:187) at org.apache.http.impl.client.DefaultHttpClient.<init>(DefaultHttpClient.java:141) at org.fedoraproject.eclipse.packager.bodhi.api.BodhiClient.getClient(BodhiClient.java:346) at org.fedoraproject.eclipse.packager.bodhi.api.BodhiClient.<init>(BodhiClient.java:95) at org.fedoraproject.eclipse.packager.bodhi.internal.ui.UserValidationResponse.validate(UserValidationResponse.java:46) at org.fedoraproject.eclipse.packager.bodhi.internal.ui.UserValidationResponse.<init>(UserValidationResponse.java:39) at org.fedoraproject.eclipse.packager.bodhi.internal.ui.ValidationJob.run(ValidationJob.java:50) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:455) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 8 more
https://bugzilla.redhat.com/show_bug.cgi?id=845099
Mikolaj Izdebski mizdebsk@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(arobinso@redhat.c | |om)
--- Comment #1 from Mikolaj Izdebski mizdebsk@redhat.com --- Which OSGi Framework are you using? I tried Felix and Equinox, both worked for me:
$ cat Test.java import java.util.*; import org.osgi.framework.*; import org.osgi.framework.launch.*;
class Test { public static void main(String[] args) throws BundleException, ClassNotFoundException { Framework f = ServiceLoader.load(FrameworkFactory.class).iterator().next().newFramework(Collections.EMPTY_MAP); f.start();
Bundle b = f.getBundleContext().installBundle("file:///usr/share/java/apache-commons-logging.jar"); System.err.println("installBundle() returned " + b);
Class c = b.loadClass("org.apache.commons.logging.LogFactory"); System.err.println("loadClass() returned " + c); System.exit(0); } }
$ javac -cp `build-classpath felix` Test.java
$ java -cp `build-classpath felix`:. Test installBundle() returned org.apache.commons.logging [1] loadClass() returned class org.apache.commons.logging.LogFactory
$ java -cp `build-classpath eclipse/osgi`:. Test installBundle() returned org.apache.commons.logging_1.1.1.v20080605-1930 [2] loadClass() returned class org.apache.commons.logging.LogFactory
In my case the bundle is resolved correctly. Can you provide more details on how exactly you are loading commons-logging bundle? A working reproducer would be great.
https://bugzilla.redhat.com/show_bug.cgi?id=845099
Andrew Robinson arobinso@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Resolution|--- |NOTABUG Flags|needinfo?(arobinso@redhat.c | |om) | Last Closed| |2012-08-08 10:37:16
--- Comment #2 from Andrew Robinson arobinso@redhat.com --- Seems to be fixed on all the machines I was using. Not sure what was causing it, but I'll close for now.
java-sig-commits@lists.fedoraproject.org