hallvard / plantuml

Embed UML diagrams in files and view them in Eclipse
http://plantuml.sourceforge.net/
212 stars 58 forks source link

Eclipse 2018-12 | .puml files not being read #80

Closed aaiezza closed 5 years ago

aaiezza commented 5 years ago

This was working on Eclipse 2018-08 last I used it, however with the recent upgrade the plugin has been rendered broken when generating images for .puml files.

Source code generation for Java classes works great still. But now when a model gets rendered from the .puml syntax the following occurs:

eclipse.buildId=4.10.0.I20181206-0815
java.version=9.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -keyring /Users/alex.aiezza/.eclipse_keyring
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -data file:/Users/alex.aiezza/workspace/ -product org.eclipse.epp.package.jee.product -keyring /Users/alex.aiezza/.eclipse_keyring

org.eclipse.ui.workbench
Error
Wed Jan 16 12:55:01 CST 2019
Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".

java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/ui/javaeditor/IClassFileEditorInput
    at net.sourceforge.plantuml.jdt.ClassFileEditorDiagramTextProvider.getDiagramText(ClassFileEditorDiagramTextProvider.java:22)
    at net.sourceforge.plantuml.text.AbstractDiagramTextProvider.getDiagramText(AbstractDiagramTextProvider.java:41)
    at net.sourceforge.plantuml.text.AbstractDiagramTextProvider.getDiagramText(AbstractDiagramTextProvider.java:36)
    at net.sourceforge.plantuml.eclipse.views.AbstractDiagramSourceView.updateDiagramText(AbstractDiagramSourceView.java:305)
    at net.sourceforge.plantuml.eclipse.views.AbstractDiagramSourceView.updateDiagramText(AbstractDiagramSourceView.java:284)
    at net.sourceforge.plantuml.eclipse.views.AbstractDiagramSourceView$1.updateDiagramText(AbstractDiagramSourceView.java:218)
    at net.sourceforge.plantuml.eclipse.views.AbstractDiagramSourceView$1.partActivated(AbstractDiagramSourceView.java:214)
    at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:5074)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:5071)
    at org.eclipse.ui.internal.WorkbenchPage.access$3(WorkbenchPage.java:5056)
    at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:214)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:253)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:250)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:775)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:684)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:679)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1231)
    at org.eclipse.ui.internal.WorkbenchPage.showPart(WorkbenchPage.java:1293)
    at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1282)
    at org.eclipse.ui.internal.WorkbenchPage.lambda$10(WorkbenchPage.java:4411)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4409)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4389)
    at org.eclipse.ui.internal.quickaccess.ViewElement.execute(ViewElement.java:80)
    at org.eclipse.ui.internal.quickaccess.SearchField$3.handleElementSelected(SearchField.java:220)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.handleSelection(QuickAccessContents.java:600)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.access$0(QuickAccessContents.java:590)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents$1.keyPressed(QuickAccessContents.java:635)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:171)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4319)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1549)
    at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1722)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1545)
    at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1687)
    at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:1094)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:6161)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:235)
    at org.eclipse.swt.widgets.Widget.superKeyDown(Widget.java:1960)
    at org.eclipse.swt.widgets.Widget.keyDown(Widget.java:1130)
    at org.eclipse.swt.widgets.Control.keyDown(Control.java:2452)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5993)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:235)
    at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2158)
    at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2414)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:6113)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5352)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5504)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:131)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.ui.javaeditor.IClassFileEditorInput cannot be found by net.sourceforge.plantuml.jdt_1.1.21
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:460)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:414)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 80 more
hallvard commented 5 years ago

This is a duplicate of issue #77. The problem is I used internal Eclipse API (shame on me) for supporting PlantUML diagrams for class files, and this breaks in later 2018 releases. I'm removing this feature to avoid the problem, and will release "soon".