GNU/Linux >> LINUX-Kenntnisse >  >> Linux

java.lang.NoClassDefFoundError:Klasse java.awt.Toolkit konnte nicht initialisiert werden

Hatte das Problem mit der fehlenden awt-Bibliothek unter Ubuntu 20.04. Behoben durch die Installation von openjdk-11-jre:

sudo apt-get install openjdk-11-jre

Okay, endlich habe ich die Antwort gefunden. Danke für die Mühe! Das Problem ist, dass ich libxtst6 hatte installiert, aber nur die 64bit-Version davon.

sudo apt-get install libxtst6:i386 hat es mir angetan.

Wie habe ich diese Antwort gefunden? Ich ldd ein wenig herumgespielt, aber nichts, wie Sie im Folgenden sehen können:

$ ldd jdk1.7.0_25_x86/jre/lib/i386/xawt/libmawt.so
    linux-gate.so.1 =>  (0xf7769000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf76ee000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf76c2000)
    libawt.so => jdk1.7.0_25_x86/jre/lib/i386/xawt/../libawt.so (0xf760f000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf75fd000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf74c9000)
    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf74bf000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf74ba000)
    libXtst.so.6 => /usr/lib/i386-linux-gnu/libXtst.so.6 (0xf74b2000)
    libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xf74a2000)
    libjava.so => jdk1.7.0_25_x86/jre/lib/i386/xawt../libjava.so (0xf747e000)
    libjvm.so => not found
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72d5000)
    /lib/ld-linux.so.2 (0xf776a000)
    libjvm.so => not found
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf72b3000)
    libjvm.so => not found
    libverify.so => java/jdk1.7.0_25_x86/jre/lib/i386/xawt/../libverify.so (0xf72a7000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf72a2000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf729b000)
    libjvm.so => not found

Das war also der Punkt, an dem ich meiner IDE nicht mehr vertraute und eine Beispielanwendung auf der Befehlszeile startete. Und die Befehlszeile war wieder nett zu mir:

$ jdk1.7.0_25_x86/bin/java Main
Exception in thread "main" java.lang.UnsatisfiedLinkError: jdk1.7.0_25_x86/jre/lib/i386/xawt/libmawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
    at java.lang.Runtime.load0(Runtime.java:795)
    at java.lang.System.load(System.java:1061)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
    at java.lang.Runtime.loadLibrary0(Runtime.java:849)
    at java.lang.System.loadLibrary(System.java:1087)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.loadLibraries(Toolkit.java:1646)
    at java.awt.Toolkit.<clinit>(Toolkit.java:1668)
    at java.awt.Component.<clinit>(Component.java:595)
    at Main.main(Main.java:5)

Linux
  1. Fehler „Klasse ZipArchive nicht gefunden“ behoben [PHP 7]

  2. Wie behebt man den Fehler – qemu:PC-BIOS „bios.bin“ konnte nicht geladen werden?

  3. java.lang.NoClassDefFoundError:org/codehaus/plexus/classworlds/launcher/Launcher beim Ausführen der Bash-Datei zum Erstellen des Projekts

  4. JAVA nicht im Pfad, obwohl JAVA_HOME gesetzt ist

  5. wkhtmltopdf - QXcbConnection:Verbindung zum Display konnte nicht hergestellt werden

piwik:Eingabedatei konnte nicht geöffnet werden:./console

Backend-Ausnahme:Backend konnte nicht initialisiert werden:Kein Modul namens Gi.repository?

Einrichten von Sun Java Wireless Toolkit unter Linux Mint

update-alternatives:Befehl nicht gefunden

Wie geht man mit LinkageErrors in Java um?

JMeter - Die TestPlan-Klasse konnte nicht gefunden werden