J’ai fourni le fichier jar Linux SWT et emballé mon application dans Eclipse pour inclure swt.jar dans le fichier jar de mon application. Lorsque j’essaie de l’exécuter sur Ubuntu, j’obtiens le texte d’erreur suivant (cause uniquement pour la publication):
Causé par: java.lang.UnsatisfiedLinkError: impossible de charger la bibliothèque SWT. Les raisons:
no swt-pi-gtk-4234 dans java.library.path
no swt-pi-gtk dans java.library.path
- Comment appeler la méthode dans un fichier jar avec un terminal?
- Sous Linux, comment exécuter un fichier jar Java avec des fichiers jar externes?
- Systemd Service for jar file obtient l’erreur “opération expirée” après quelques minutes ou rest en “mode d’activation”
- Comment append plusieurs fichiers jar dans classpath dans linux
- Lancer un fichier jar comme service dans linux
/home/nifty/.swt/lib/linux/x86/libswt-pi-gtk-4234.so: libgtk-x11-2.0.so.0: impossible d’ouvrir le fichier d’object partagé: aucun fichier ou répertoire de ce type
Impossible de charger la bibliothèque: /home/nifty/.swt/lib/linux/x86/libswt-pi-gtk.so
Cela m’indique qu’il ne peut pas charger un fichier GTK, mais rien d’autre que cela, et je suis perdu. Je n’utilise que Ubuntu pour tester mon application, donc je connais très peu.
Sur mon Wheezy / testing Debian 64 bits, je l’ai résolu en faisant
apt-get install ia32-libs-gtk
( http://www.eclipse.org/forums/index.php/t/262868/ ). Si votre système n’est pas un système 64 bits, cette suggestion n’est pas applicable.
Voici comment je corrige cette lib manquante sur mon Ubuntu 13.10 x86_64:
java.lang.UnsatisfiedLinkError: Impossible de charger la bibliothèque SWT. Raisons: /home/ywu/.eclipse/473605238/configuration/org.eclipse.osgi/bundles/361/1/.cp/libswt-pi-gtk-4236.so: libgtk-x11-2.0.so.0: impossible ouvrir le fichier object partagé: aucun fichier ou répertoire de ce type
ywu@ywu-HP-8100:~$ aptitude search libgtk2.0-0 i libgtk2.0-0 - GTK+ graphical user interface library p libgtk2.0-0:i386 - GTK+ graphical user interface library ywu@ywu-HP-8100:~$ sudo apt-get install libgtk2.0-0:i386
Pour les versions plus récentes, s’il est impossible de trouver libgtk-3.so.0
, le paquetage évident dont vous avez besoin pour apt-get install
est libgtk-3-0 . Cependant, il semble qu’il n’y ait pas un tel paquet sur Ubuntu Zesty (17.04), donc je devais passer à Xenial (16.04). Artful et plus tard devrait fonctionner aussi.
En outre, le programme d’ installation graphique d’Eclipse ne fonctionnera pas sans cela.