java.lang.NoSuchMethodError bei jeder Aktion in Version 0.33.1 unter Linux

Danke für das großartige Programm. Es läuft bei mir normalerweise unter Ubuntu.

Seit dem letzten Update auf Version 0.33.1 kann ich aber das Produkt nicht mehr verwenden. Bei jeder Aktion bekomme ich die Fehlermeldung wie oben

java.lang.NoSuchMethodError

mit diversen Methoden-Namen. Ich muss dann den Prozess über die Shell killen.

Schönen Gruß, Horst.

Mit der letzten Version habe ich das Eclipse Framework von GTK2 auf GTK3 umgestellt.

Das ist wohl notwendig weil auf vielen neueren Linux Versionen z.b. WebKitGtk in den alten Versionen nicht mehr zur Verfügung steht. Siehe auch die Diskussion in dem Github Issue.

Du kannst das einfach wieder zurückdrehen, indem Du folgende zwei Zeilen in die PortfolioPerformance.ini Datei einfügst (und zwar vor dem “-vmargs”)

--launcher.GTK_version
2
1 Like

Hallo Andreas,
auch ich finde sein Programm super. Allerdinsg erhalte ich die folgende Fehlermeldung, sobald ich ein Wertpapier editieren möchte: Auch Deine vorher beschriebene Anpassung hilft nicht weiter:
Sat Jul 21 12:27:08 CEST 2018
Internal Error

java.lang.NoSuchMethodError: org.eclipse.swt.graphics.FontMetrics.getAverageCharacterWidth()D

at name.abuchen.portfolio.ui.util.BindingHelper.getAverageCharWidth(BindingHelper.java:496)

at name.abuchen.portfolio.ui.util.BindingHelper.createTextInput(BindingHelper.java:391)

at name.abuchen.portfolio.ui.util.BindingHelper.bindISINInput(BindingHelper.java:458)

at name.abuchen.portfolio.ui.wizards.security.SecurityMasterDataPage.createControl(SecurityMasterDataPage.java:68)

at name.abuchen.portfolio.ui.wizards.security.EditSecurityDialog.addPage(EditSecurityDialog.java:212)

at name.abuchen.portfolio.ui.wizards.security.EditSecurityDialog.createTabFolder(EditSecurityDialog.java:198)

at name.abuchen.portfolio.ui.wizards.security.EditSecurityDialog.createDialogArea(EditSecurityDialog.java:125)

at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:768)

at name.abuchen.portfolio.ui.wizards.security.EditSecurityDialog.createContents(EditSecurityDialog.java:107)

at org.eclipse.jface.window.Window.create(Window.java:426)

at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)

at org.eclipse.jface.window.Window.open(Window.java:783)

at name.abuchen.portfolio.ui.views.SecuritiesTable$AbstractDialogAction.run(SecuritiesTable.java:837)

at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)

at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)

at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)

at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)

at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)

at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)

at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)

at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)

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:653)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)

at org.eclipse.equinox.launcher.Main.run(Main.java:1499)

image

Hallo @_Hans, kannst Du testweise in deinem Home-Verzeichnis das Unterverzeichnis .eclipse entfernen? Das hatte bspw. bei Installation in Fedora 27 über Copr Repository weitergeholfen …

Vielen Dank! Das hat aber nichts gebracht. Vielleicht habe ich auch das falsche Verzeichnis gelöscht. :slight_smile: Nach der Neuinstallation von PP funktioniert es jetzt wie gewohnt.

Viele Grüße
Hans

Mir ist aufgefallen, dass nach der Umstellung von gtk2 auf gtk3 für die Anzeige der Diagramme noch libwebkitgtk-3.0-0 nachinstalliert werden muss. Die Fehlermeldung weist noch missverständlich auf libwebkitgtk-1.0-0 hin.

Vielleicht hilft das ja jemandem.