java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Display

Hallo,
ich hoffe, dass ist jetzt nicht doppelt, aber die anderen Posts zu den neusten Updatefehler schienen ein wenig anders gelagert zu sein. Deshalb hier als separater Thread - falls falsch, bitte löschen :blush:

Meine Distribution (Arch) hat das Update auf 0.31.1 verteilt. Das compilieren scheint tadellos durchzulaufen, allerdings startet die Anwendung seither nur noch mit einem Verweis auf eine eclipse Logdatei. Inhalt:

!SESSION 2018-05-23 20:38:59.944 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_172
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de
Command-line arguments: -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2018-05-23 20:39:01.076
!MESSAGE Anwendungsfehler
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Display
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:144)
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(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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)
at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display cannot be found by org.eclipse.e4.ui.workbench.swt_0.14.101.v20170710-1119
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 14 more

Ist das hier richtig oder suche ich den Fehler an der falschen Stelle?

Vielen Dank schon mal,
Gruß gumida

1 Like

Hallo,
habe leider genau das selbe Problem.

Distro ist Manjaro(Arch).

Konntest du das Problem inzwischen lösen?

MfG Kanarme

Hallo,
sorry für die späte Rückmeldung. Vermutlich hat sich das Problem mittlerweile bei dir bereits erledigt?
Wenn ich mich noch recht entsinne, war die Lösung bei mir: aus den Paketquellen deinstallieren und manuell von hier herunterladen/nutzen. Funktioniert damit auch deutlich besser mit den Softwareupdates.

Gruß gumida

1 Like

Hallo,

danke für die Rückmeldung, bin inzwischen selber dazu übergangen und funktioniert wie du schon hast beschreibst deutlich besser.

MfG Kanarme

Hallo,

ich habe genau den selben Fehler. Könnte vielleicht jemand den Lösungsansatz möglichst laienhaft erklären. Ich bin relativ neu mit Eclipse und Java. Komme mehr aus der .NET Welt. Danke im Voraus :slight_smile:

Okay:

  1. Fehlermeldung hier posten
  2. Angeben zu deiner OS und Java Version posten
  3. Woher stammt das Update, via Linux Package Manager oder direkt aus dem Update via PP
  4. Neuinstallation bereits versucht?

Gruß
Marco

1. Fehlermeldung hier posten
Ist mehr oder minder die gleiche Fehlermeldung die der Threadersteller schon beschrieben hat:

!SESSION 2020-01-05 00:04:04.634 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_231
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product name.abuchen.portfolio.bootstrap.product
Command-line arguments:  -product name.abuchen.portfolio.bootstrap.product -data E:\Bibliothek\Meine Unterlagen\Programming\Eclipse/../runtime-name.abuchen.portfolio.product -dev file:E:/Bibliothek/Meine Unterlagen/Programming/Eclipse/.metadata/.plugins/org.eclipse.pde.core/Portfolio Performance/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY org.eclipse.osgi 4 0 2020-01-05 00:04:07.576
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Display
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:147)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
	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:391)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
	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:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1474)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display cannot be found by org.eclipse.e4.ui.workbench.swt_0.14.300.v20180906-1121
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:511)
	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.lang.ClassLoader.loadClass(Unknown Source)
	... 14 more

2. Angeben zu deiner OS und Java Version posten
OS: Windows 10 64bit
Java Version: Version 8 Update 231 (https://www.java.com/de/download/windows-64bit.jsp)

3. Woher stammt das Update, via Linux Package Manager oder direkt aus dem Update via PP
Hier weiß ich nicht genau was du meinst. Ich habe einfach diese Anleitung durchgeführt (https://github.com/buchen/portfolio). Hat auch alles soweit funktioniert, nur das ich am Ende den Kompilierungsfehler aus Punkt 1 habe.

4. Neuinstallation bereits versucht?

Nein noch nicht. Habe die Installation auch auf einem andren PC versucht. Das Ergebnis war die gleiche Fehlermeldung.

Gruß

Eduard

@Eduard_S
Verstehe ich dich richtig, dass dein Fehler in der Eclipse IDE und nicht wie beim TE in der fertigen Applikation auftritt? Dann reden wir nicht vom gleichen Fehler bzw dessen Ursache.

In der Eclipse IDE muss nach dem erstellen der Target Konfiguration noch in der Run Konfiguration die fehlenden Addons für dein OS hinzugefügt werden.

@Ragas
Ja genau, ich verwende die Eclipse IDE. Dann habe ich das ursprüngliche Problem etwas falsch verstanden.

Habe jetzt ein paar Sachen ausprobiert. Folgendes hat am Ende geholfen:

Ich musst also wie du es gesagt hast in der RUN Konfiguration noch ein zusätzliches swt plugin aktivieren. Vielen Dank :wink:

3 Likes