Beim Ausführen einer Java-Datei, die versucht, eine Ods-Datei zu öffnen, wird die folgende Fehlermeldung angezeigt.
Ausnahme im Thread "main" Java.lang.UnsatisfiedLinkError: /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.so: libXext.so.6: Datei mit freigegebenen Objekten kann nicht geöffnet werden Verzeichnis unter Java.lang.ClassLoader $ NativeL
Ich habe versucht - 'yum install libXext'
, habe aber die msg - bereits installiert.
Irgendwelche Vorschläge?
Antworten:
installieren Sie libXstst.so.6 Sie wird installiert und funktioniert einwandfrei
In meinem Fall musste ich zusätzliche Bibliotheken installieren.
yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64
Zunächst können Sie versuchen, den folgenden Befehl zu verwenden:
yum search libXext
Nach dieser Suche müssen Sie die folgende Bibliothek installieren: libXext.i686 (oder am wahrscheinlichsten libXext.i386). Danach können Sie Folgendes ausführen:
Sudo yum install libXext.i686
Als Nebenbemerkung musste ich auch die folgenden Bibliotheken installieren, damit meine Java-Anwendung ordnungsgemäß funktioniert: libXrender.i686 und libXtst.i686. Ich denke, dass dieses Problem auf die Tatsache zurückzuführen ist, dass wir versuchen, eine Java 32-Bit-Version auf einem 64-Bit-Betriebssystem zu verwenden.
Ich denke, Sie können 32-Bit-Jdk in einem 64-Bit-System installieren. Sie erhalten diese Fehlermeldung, wenn Sie jar ausführen
sie können überprüfen, ob CentOs 32 Bit oder 64 Bit ist. Geben Sie den Befehl ein:
getconf LONG_BIT
Wenn das CentOs 64-Bit ist, können Sie das 32-Bit-Jdk entfernen und ein neues installieren
Für Arch habe ich pkgfile (das ich mit pacman installiert habe) verwendet und dann ausgeführt:
pkgfile --update
pkgfile libXtst.so.6
und es zeigte mir extra/libxtst.
Ich habe mit Pacman installiert und bisher so gut.
verwenden Sie den Dateibefehl, um zu sehen, ob es 32 Bit oder 64 Bit ist file /opt/software/jdk1.6.0_45/jre/lib/i386/xawt/libmawt.soits Die Ausgabe sollte wie folgt aussehen:
ELF 32-Bit LSB ausführbar
dann installieren Sie die entsprechende lib für 32 Bit:
Sudo yum installiere libXext.i686
für 64 bit:
Sudo yum installiere libXext