Community
Participate
Working Groups
I updated yesterday my 3.6 M7 eclipse environment by 3.6 RC1. I noticed this afternoon that I was unable to use access any update site. (thus I can no longer update or add anything to my environment :() The problem is coming from a classpath problem with org.apache.commons.httpclient.HttpClient. The jar file has been correctly installed in the plugins folder. Here is the error. java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.httpclient.HttpClient at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientBrowseFileTransferFactory$1.sendBrowseRequest(HttpClientBrowseFileTransferFactory.java:53) at org.eclipse.ecf.provider.filetransfer.browse.MultiProtocolFileSystemBrowserAdapter.sendBrowseRequest(MultiProtocolFileSystemBrowserAdapter.java:95) at org.eclipse.equinox.internal.p2.repository.FileInfoReader.sendBrowseRequest(FileInfoReader.java:181) at org.eclipse.equinox.internal.p2.repository.FileInfoReader.getRemoteFiles(FileInfoReader.java:107) at org.eclipse.equinox.internal.p2.repository.FileInfoReader.getRemoteFile(FileInfoReader.java:123) at org.eclipse.equinox.internal.p2.repository.FileInfoReader.getLastModified(FileInfoReader.java:128) at org.eclipse.equinox.internal.p2.repository.RepositoryTransport.getLastModified(RepositoryTransport.java:219) at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:132) at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.getLocalFile(CompositeMetadataRepositoryFactory.java:74) at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:99) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57) at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:713) at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:661) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92) at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:115) at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:100) at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$2.runModal(PreloadingRepositoryHandler.java:82) at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Could you please attach the jar file in question. If you try restarting with -clean, does it help?
Created attachment 168976 [details] apache httpclient jar file
starting eclipse with -clean does not solve the problem. I also have that warning in the console: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
/** Log object for this class. */ private static final Log LOG = LogFactory.getLog(HttpClient.class); java.lang.NoClassDefFoundError: Could not initialize class I think this indicates that there is a exception in the static initialization of the HttpClient class. I can not reproduce. I updated from a fresh M7 to RC1 and then was able to update to the latest I-Build. Could you debug the static initialization of the HttpClient class to see what is failing? The following is the static initialization code that could have a failure. static { if (LOG.isDebugEnabled()) { try { LOG.debug("Java version: " + System.getProperty("java.version")); LOG.debug("Java vendor: " + System.getProperty("java.vendor")); LOG.debug("Java class path: " + System.getProperty("java.class.path")); LOG.debug("Operating system name: " + System.getProperty("os.name")); LOG.debug("Operating system architecture: " + System.getProperty("os.arch")); LOG.debug("Operating system version: " + System.getProperty("os.version")); Provider[] providers = Security.getProviders(); for (int i = 0; i < providers.length; i++) { Provider provider = providers[i]; LOG.debug(provider.getName() + " " + provider.getVersion() + ": " + provider.getInfo()); } } catch (SecurityException ignore) { } } }
Using the debugger, I could find that the problem is coming from SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. The problem is actually due to Xtext 1.0.0 v20100504 (www.eclipse.org/Xtext) that I installed in that environment. Removing it fixes the issue. However, since Xtext is part of the release train, I think that this issue needs some attention.
any idea how we can reproduce it? it seems that noone else faces such problems
(In reply to comment #6) > any idea how we can reproduce it? it seems that noone else faces such problems Not sure that is true. See bug313502.
You are right Thomas. This is exactly the problem I face. Thanks for pointing us that bug. *** This bug has been marked as a duplicate of bug 313502 ***
Closing bug which were set to RESOLVED before Eclipse Neon.0.