Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 78681 - Help function fails due to log4j conflict
Summary: Help function fails due to log4j conflict
Status: RESOLVED DUPLICATE of bug 63970
Alias: None
Product: Platform
Classification: Eclipse Project
Component: User Assistance (show other bugs)
Version: 3.0.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Help-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-15 18:04 EST by Mark Evans CLA
Modified: 2004-11-18 15:01 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Evans CLA 2004-11-15 18:04:59 EST
When I attempted to run Help -> Help Contents on a newly installed eclipse 
platform, an error message popped and the Error Log captured the traceback 
that follows.  After removing log4j-1.2.9.jar from C:\j2sdk1.4.1_01
\jre\lib\ext the problem goes away.  Is this expected?


org.eclipse.core.runtime.CoreException[0]: 
org.apache.commons.logging.LogConfigurationException: 
org.apache.commons.logging.LogConfigurationException: No suitable Log 
constructor [Ljava.lang.Class;@bb5859 for 
org.apache.commons.logging.impl.Log4JLogger
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance
(LogFactoryImpl.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance
(LogFactoryImpl.java:272)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.apache.commons.digester.Digester.<init>(Digester.java:346)
at org.apache.catalina.realm.MemoryRealm.getDigester(MemoryRealm.java:278)
at org.apache.catalina.realm.MemoryRealm.start(MemoryRealm.java:348)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1173)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
at org.apache.catalina.startup.Embedded.addEngine(Embedded.java:464)
at org.eclipse.tomcat.internal.TomcatAppServer.start(TomcatAppServer.java:97)
at org.eclipse.help.internal.appserver.AppserverPlugin.startWebappServer
(AppserverPlugin.java:145)
at org.eclipse.help.internal.appserver.AppserverPlugin.getAppServer
(AppserverPlugin.java:42)
at org.eclipse.help.internal.appserver.WebappManager.start
(WebappManager.java:57)
at org.eclipse.help.internal.base.BaseHelpSystem.ensureWebappRunning
(BaseHelpSystem.java:182)
at org.eclipse.help.internal.base.HelpDisplay.displayHelpURL
(HelpDisplay.java:156)
at org.eclipse.help.internal.base.HelpDisplay.displayHelp(HelpDisplay.java:48)
at org.eclipse.help.ui.internal.DefaultHelpUI.displayHelp
(DefaultHelpUI.java:43)
at org.eclipse.ui.help.WorkbenchHelp.displayHelp(WorkbenchHelp.java:210)
at org.eclipse.ui.internal.actions.HelpContentsAction$1.run
(HelpContentsAction.java:78)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.actions.HelpContentsAction.run
(HelpContentsAction.java:76)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:915)
at org.eclipse.jface.action.ActionContributionItem.access$2
(ActionContributionItem.java:866)
at org.eclipse.jface.action.ActionContributionItem$7.handleEvent
(ActionContributionItem.java:785)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:335)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable 
Log constructor [Ljava.lang.Class;@bb5859 for 
org.apache.commons.logging.impl.Log4JLogger
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor
(LogFactoryImpl.java:432)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance
(LogFactoryImpl.java:525)
... 43 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
at java.lang.Class.getConstructor0(Class.java:1762)
at java.lang.Class.getConstructor(Class.java:1002)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor
(LogFactoryImpl.java:429)
... 44 more
Comment 1 Konrad Kolosowski CLA 2004-11-18 15:01:29 EST
It would be nice if it did not happen, but Eclipse help requires no 
conflicting jars in the JRE.  This reported in 63970 and documented in the 
readme.  You can pass a different VM (without conflicting jars) to eclipse 
using -vm command line option.

*** This bug has been marked as a duplicate of 63970 ***