Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

swt debian

3 réponses
Avatar
Evelyne Zahn
Bonjour à tous,

Je fais mes débuts dans le monde j2ee et essayes pour l'instant de faire
marcher un hello world testant la bibliothèque swt en standalone. La
compilation est OK mais une erreur intervient à l'exécution.

Programme (tiré des cahiers du programmeur de J. Molière):
package exec;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;

public class HelloWorldSWT
{
public static void main (String[] args)
{
Display display = new Display ();

//associe le shell au display
Shell shell = new Shell (display);
shell.setText ("Hello World en SWT");
shell.setToolTipText ("tip");

//crée un layout et le positionne en mode auto wrapping
RowLayout layout = new RowLayout ();
layout.wrap = true;

//associe le layout au shell
shell.setLayout (layout);

//crée les widgets
Label label = new Label (shell, SWT.NULL);
label.setText ("Hello World !");

Button button = new Button (shell, SWT.NULL);
button.setText ("Cliquez-moi");
button.setToolTipText ("Blabli");

Button button2 = new Button (shell, SWT.NULL);
button.setText ("bouton sans but");
button.setToolTipText ("Blabla");


//calcule la taille optimale
shell.pack ();
shell.open ();

while (!shell.isDisposed ())
{
if (!display.readAndDispatch ())
display.sleep ();
}
}//fin main

}//fin class


Erreur à l'execution :
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2136
in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:108)
at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:19)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:482)
at org.eclipse.swt.widgets.Display.create(Display.java:469)
at org.eclipse.swt.graphics.Device.<init>(Device.java:111)
at org.eclipse.swt.widgets.Display.<init>(Display.java:303)
at org.eclipse.swt.widgets.Display.<init>(Display.java:299)
at exec.HelloWorldSWT.main(HelloWorldSWT.java:14)

Alors j'ai mis tous les paths que j'ai pu dans mon build et mon bin ....
(j'ai trouvé la librairie swt-pi-gtk-2136.so dans "/usr/lib/jni/" et dans
"/usr/share/eclipse/plugins/org.eclipse.swt.gtk_2.1.3/os/linux/x86/")

java -classpath
/usr/lib/eclipse/:
/usr/share/eclipse/:
/usr/share/eclipse/plugins/:
/usr/share/eclipse/plugins/org.eclipse.swt.gtk_2.1.3/os/linux/x86/:
/usr/lib/jni/:
/usr/share/java-config/:
/usr/share/java/swt2.1-gtk.jar:
/usr/share/java/swt-pi2.1-gtk.jar:
../lib/blueweb.jar exec.HelloWorldSWT

Voilà ... j'y suis maintenant depuis plusieurs jours ... je ne trouve
rien sur le web ... mais je ne cherche peut-être pas là où il faut ...
Alors si quelqu'un a une idée ou peut m'orienter dans mes recherches ...

Merci beaucoup

3 réponses

Avatar
Cheyenne
Evelyne Zahn writes:
Bonjour à tous,


Bonjour,


[...]

Erreur à l'execution :
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk- 2136
in java.library.path


[...]


Alors j'ai mis tous les paths que j'ai pu dans mon build et mon bin ....
(j'ai trouvé la librairie swt-pi-gtk-2136.so dans "/usr/lib/jni/" et da ns
"/usr/share/eclipse/plugins/org.eclipse.swt.gtk_2.1.3/os/linux/x86/")


C'est le même fichier (celui dans /usr/lib/jni est un lien symbolique
vers celui dans /usr/share/eclipse/...)


java -classpath
/usr/lib/eclipse/:
/usr/share/eclipse/:
/usr/share/eclipse/plugins/:
/usr/share/eclipse/plugins/org.eclipse.swt.gtk_2.1.3/os/linux/x86/:
/usr/lib/jni/:
/usr/share/java-config/:
/usr/share/java/swt2.1-gtk.jar:
/usr/share/java/swt-pi2.1-gtk.jar:
../lib/blueweb.jar exec.HelloWorldSWT



Le chemin de recherche des librairies dynamiques est défini par la
variable LD_LIBRARY_PATH (ou la propriété java.library.path), et non par
le classpath.

essaie avec la commande :
java -Djava.library.path=/usr/lib/jni ...

Voilà ... j'y suis maintenant depuis plusieurs jours ... je ne trouve
rien sur le web ... mais je ne cherche peut-être pas là où il faut ...
Alors si quelqu'un a une idée ou peut m'orienter dans mes recherches ...

Merci beaucoup


--
Jérôme Marrec

Où sont les tambours de bronze
Et le million d'éléphants
Derrière le suicide des bonzes
Se cachent les cris des enfants
-- Bérurier noir - Viêtnam, Laos, Cambodge

Avatar
Evelyne Zahn
Le Fri, 06 Aug 2004 15:06:21 +0000, Cheyenne a écrit :

Evelyne Zahn writes:

Erreur à l'execution :
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-2136
in java.library.path


[...]

Le chemin de recherche des librairies dynamiques est défini par la
variable LD_LIBRARY_PATH (ou la propriété java.library.path), et non par
le classpath.

essaie avec la commande :
java -Djava.library.path=/usr/lib/jni ...


c'est fou ce que ça peut être émouvant de voir une petite boite qui
s'ouvre ... :)! Merci mille fois et bon week-end,



Evelyne Zahn


Avatar
jerome moliere

Le chemin de recherche des librairies dynamiques est défini par la
variable LD_LIBRARY_PATH (ou la propriété java.library.path), et non par
le classpath.

essaie avec la commande :
java -Djava.library.path=/usr/lib/jni ...
ou export LD_LIBRARY_PATH=.....

java tonprog

Jerome
--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13—82212111941