Community
Participate
Working Groups
What steps will reproduce the problem? 1. Install weekly build 2. Open a review in the Task Editor Exception Stack Trace: java.lang.NoClassDefFoundError: org/apache/commons/io/FilenameUtils at org.eclipse.mylyn.internal.reviews.ui.operations.ReviewCompareEditorInput$ByteArrayInput.getType(ReviewCompareEditorInput.java:67) at org.eclipse.compare.internal.CompareUIPlugin.getTypes(CompareUIPlugin.java:985) at org.eclipse.compare.internal.CompareUIPlugin.findStructureViewerDescriptor(CompareUIPlugin.java:786) at org.eclipse.compare.internal.CompareUIPlugin.findStructureViewer(CompareUIPlugin.java:821) at org.eclipse.compare.CompareUI.findStructureViewer(CompareUI.java:312) at org.eclipse.compare.CompareEditorInput.findStructureViewer(CompareEditorInput.java:931) at org.eclipse.compare.internal.CompareStructureViewerSwitchingPane.getViewer(CompareStructureViewerSwitchingPane.java:84) at org.eclipse.compare.CompareEditorInput$10.getViewer(CompareEditorInput.java:715) at org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:266) at org.eclipse.compare.internal.CompareStructureViewerSwitchingPane.setInput(CompareStructureViewerSwitchingPane.java:132) at org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:747) at org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:555) at org.eclipse.compare.internal.CompareEditor.createCompareControl(CompareEditor.java:462) at org.eclipse.compare.internal.CompareEditor.createPartControl(CompareEditor.java:414) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768) at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760) at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682) at org.eclipse.compare.internal.CompareUIPlugin$1.run(CompareUIPlugin.java:523) at org.eclipse.compare.internal.CompareUIPlugin.syncExec(CompareUIPlugin.java:1263) at org.eclipse.compare.internal.CompareUIPlugin.internalOpenEditor(CompareUIPlugin.java:534) at org.eclipse.compare.internal.CompareUIPlugin.openCompareEditor(CompareUIPlugin.java:496) at org.eclipse.compare.CompareUI.openCompareEditorOnPage(CompareUI.java:168) at org.eclipse.compare.CompareUI.openCompareEditor(CompareUI.java:137) at org.eclipse.compare.CompareUI.openCompareEditor(CompareUI.java:121) at org.eclipse.mylyn.internal.gerrit.ui.editor.ReviewSection$3.open(ReviewSection.java:172) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:265) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:259) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:299) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3549) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3170) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2697) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2661) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2495) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 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:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FilenameUtils at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:467) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 69 more
I fixed it by adding a version constraint to the package import: version="1.4.0". Alvaro, you may want to do the same in the o.e.m.reviews.r4e.core bundle.
o.e.m.reviews.r4e.core bundle does not have dependencies with apache.commons.io but o.e.m.reviews.r4e.core.tests does. It was already set to 1.4.0. Thanks for the heads up
Sorry, I mixed that up. I was looking at o.e.m.reviews.r4e.ui which has an unconstrained package import.
(In reply to comment #3) > Sorry, I mixed that up. I was looking at o.e.m.reviews.r4e.ui which has an > unconstrained package import. Sebastien, why do we need to import the package vs specifying a optional dependency of the plug-in. if we specify the dependency do you need it as required or optional ? same thing for the egit package, do you still need it ?