Bug 308461 - java.lang.ClassNotFoundException: org.codehaus.jdt.groovy.integration.internal.GroovyLanguageSupport at startup
Summary: java.lang.ClassNotFoundException: org.codehaus.jdt.groovy.integration.interna...
Status: VERIFIED NOT_ECLIPSE
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.6 M7   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-08 07:05 EDT by Mauro Molinari CLA
Modified: 2010-04-27 04:23 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mauro Molinari CLA 2010-04-08 07:05:00 EDT
Build Identifier: M20100211-1343

Today I checked for updates using the Update Manager and it proposed to install something like a JDT patch to support Groovy language. However, since then, when I start Eclipse I now get a ClassNotFoundException for org.codehaus.jdt.groovy.integration.internal.GroovyLanguageSupport. I don't need Groovy and, if Eclipse does, I think it should take care of the necessary dependencies...

Reproducible: Always

Steps to Reproduce:
1. start Eclipse
2. in the Error Log I find the following:
eclipse.buildId=
java.version=1.6.0_18
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=it_IT
Command-line arguments:  -os win32 -ws win32 -arch x86_64


Error
Thu Apr 08 12:41:01 CEST 2010
Error creating Groovy language support

java.lang.ClassNotFoundException: org.codehaus.jdt.groovy.integration.internal.GroovyLanguageSupport
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:326)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:231)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1193)
at org.codehaus.jdt.groovy.integration.LanguageSupportFactory.tryInstantiate(LanguageSupportFactory.java:122)
at org.codehaus.jdt.groovy.integration.LanguageSupportFactory.getLanguageSupport(LanguageSupportFactory.java:95)
at org.codehaus.jdt.groovy.integration.LanguageSupportFactory.newCompilationUnit(LanguageSupportFactory.java:62)
at org.eclipse.jdt.internal.core.PackageFragment.buildStructure(PackageFragment.java:92)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
at org.eclipse.jdt.internal.core.PackageFragment.containsJavaResources(PackageFragment.java:126)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.isEmpty(PackageExplorerContentProvider.java:505)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getFolded(PackageExplorerContentProvider.java:494)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getHierarchicalPackageChildren(PackageExplorerContentProvider.java:430)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getPackageContent(PackageExplorerContentProvider.java:254)
at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:189)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:301)
at org.eclipse.jdt.internal.ui.packageview.WorkingSetAwareContentProvider.getChildren(WorkingSetAwareContentProvider.java:87)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1352)
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:390)
at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.hasFilteredChildren(ProblemTreeViewer.java:255)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.isEssential(PackageExplorerPart.java:290)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.isFiltered(PackageExplorerPart.java:276)
at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.containsNonFiltered(ProblemTreeViewer.java:291)
at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.hasFilteredChildren(ProblemTreeViewer.java:256)
at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.isExpandable(ProblemTreeViewer.java:244)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2109)
at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2791)
at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:847)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:828)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:802)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:776)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:639)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1585)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1582)
at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2463)
at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1711)
at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2903)
at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1667)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1124)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.showInput(PackageExplorerPart.java:1050)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.editorActivated(PackageExplorerPart.java:999)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.setLinkingEnabled(PackageExplorerPart.java:1271)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.createPartControl(PackageExplorerPart.java:548)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:367)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.WorkbenchPage$ActivationList.setActive(WorkbenchPage.java:4212)
at org.eclipse.ui.internal.WorkbenchPage$18.runWithException(WorkbenchPage.java:3271)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3885)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3506)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
at org.eclipse.ui.internal.Workbench$28.runWithException(Workbench.java:1384)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3885)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3506)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2316)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Comment 1 Olivier Thomann CLA 2010-04-08 09:00:31 EDT
This looks like a problem with the groovy plugins.
Closing as NOT_ECLIPSE.
Please report the problem to the groovy team.
Comment 2 Mauro Molinari CLA 2010-04-08 09:53:54 EDT
Ok, sorry, it seems that something (maybe the latest Spring IDE plugin) has installed "JDT Core patch for Groovy-Eclipse plugin" on my system by simply doing a "Check for updates" (not "Install new software"!) and I thought this were something by the JDT team rather than the Groovy Eclipse plugin team.

I do not use Groovy, I do not need it and I never installed the Groovy Eclipse plugin on my system... So I just uninstalled it now, although I'm quite surprised that Eclipse didn't complain about some broken dependency (why p2 requested its installation if it doesn't seem to be needed by any other plugin in my system?).

This is why I was confused.

Mauro.
Comment 3 Olivier Thomann CLA 2010-04-08 10:01:58 EDT
My guess is that this JDT patch doesn't define its dependencies the way it should.
You might want to check it to make sure that p2 doesn't have a bug. If dependencies look ok, then you should report a bug against p2.

Otherwise you should report a bug against groovy for not specifying the right dependencies.
Comment 4 Jay Arthanareeswaran CLA 2010-04-27 04:23:26 EDT
Verified for 3.6M7.