IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

[SWT][Linux] - Comment lancer une appli. SWT sans éclipse ?


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [SWT][Linux] - Comment lancer une appli. SWT sans éclipse ?
    Bonjour,
    Il y a quelques mois j'avais réussi à lancer un HelloWorld basé sur SWT, depuis la ligne de commande, j'avais trouvé un ligne pour la compilation, et une ligne pour l'exécution.

    Depuis j'ai bien sûr perdu le fichier dans lequel j'avais mis ça... je suis passé de gentoo à ubuntu... et j'arrive plu à faire marcher le truc.
    J'ai refait les mêmes recherches Google, trouvé des réponses similaires, mais ça marche tjrs pô

    J'ai l'erreur suivante quoi que je fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sitael@heaven:~/Desktop$ java -jar Sheril.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Menu
    Ajouter des -Djavamachin ou un -classpath vers tout ce que je peux trouver ne change rien, j'ai tjrs cette erreur

    Pourtant ça marche avec Eclipse...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Oui, merci pour la réponse RTFM, si je pose la question c'est que tout ce que j'ai pu trouver sur le net ne donne rien...

    Donc j'ai essayé d'ajouter tous les classpath et tous les java.library.path que je pouvais mais ça marche pas quand même...


    J'ai essayé ces répertoires là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    sitael@heaven:~/Desktop$ ls /usr/lib/java/ /usr/lib/eclipse/plugins/ ~/workspace/org.eclipse.swt/ -l
    /home/sitael/workspace/org.eclipse.swt/:
    total 3,2M
    drwxr-xr-x 2 sitael sitael  184 2006-07-13 15:37 about_files
    -rw-r--r-- 1 sitael sitael 8,2K 2006-07-13 15:38 about.html
    -rw-r--r-- 1 sitael sitael 191K 2006-07-13 15:38 libcairo.so.1
    -rw-r--r-- 1 sitael sitael  22K 2006-07-13 15:38 libswt-atk-gtk-3139.so
    -rw-r--r-- 1 sitael sitael 3,6K 2006-07-13 15:38 libswt-awt-gtk-3139.so
    -rw-r--r-- 1 sitael sitael  34K 2006-07-13 15:37 libswt-cairo-gtk-3139.so
    -rw-r--r-- 1 sitael sitael  11K 2006-07-13 15:37 libswt-gnome-gtk-3139.so
    -rw-r--r-- 1 sitael sitael 157K 2006-07-13 15:38 libswt-gtk-3139.so
    -rw-r--r-- 1 sitael sitael  74K 2006-07-13 15:37 libswt-mozilla-gtk-3139.so
    -rw-r--r-- 1 sitael sitael 270K 2006-07-13 15:38 libswt-pi-gtk-3139.so
    -rw-r--r-- 1 sitael sitael 1,2M 2006-07-13 15:38 src.zip
    -rw-r--r-- 1 sitael sitael 1,2M 2006-07-13 15:37 swt.jar
    
    /usr/lib/eclipse/plugins/:
    total 1,4M
    -rw-r--r-- 1 root root  12K 2006-04-17 20:52 org.eclipse.core.resources.linux_3.1.0.jar
    -rw-r--r-- 1 root root 1,6K 2006-04-17 20:52 org.eclipse.swt_3.1.0.jar
    -rw-r--r-- 1 root root 1,4M 2006-04-17 20:53 org.eclipse.swt.gtk.linux.x86_3.1.1.jar
    -rw-r--r-- 1 root root 4,1K 2006-04-17 20:52 org.eclipse.update.core.linux_3.1.0.jar
    
    /usr/lib/java/:
    total 0
    lrwxrwxrwx 1 root root 58 2006-06-17 18:37 swt3.1-gtk.jar -> ../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.1.1.jar
    lrwxrwxrwx 1 root root 14 2006-06-17 18:37 swt-gtk.jar -> swt3.1-gtk.jar
    lrwxrwxrwx 1 root root 14 2006-06-17 18:37 swt.jar -> swt3.1-gtk.jar
    Donc c'est qu'il doit me manquer un truc... personne n'a de script qui fait ça ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Essai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Djava.library.path=~/workspace/org.eclipse.swt/ -jar Sheril.jar
    Si ça ne marche pas, quel est le message d'erreur ?
    S'il ne trouve toujours pas la classe, c'est peut-être dû à un autre problème : le manifest de ton jar. Dans ce cas regarde

    Un autre lien (avec d'autres FAQ ) http://www.eclipse.org/swt/

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Voici la procédure à appliquer pour executer une application SWT en standalone sans avoir eclipse installé :

    Tout d'abord générer un jar du projet avec un fichier MANIFEST.MF contenant le chemin vers les lib du projet (et notamment la lib swt). Exemple test.jar

    Exemple de MANIFEST.MF (bien respecter les espaces)
    Manifest-Version: 1.0
    Class-Path: ./lib/swt.jar ./lib/commonslang.jar ./lib/opencsv.jar
    Sealed: true
    Main-Class: com.adls.gui.DedupApp

    Pour info, les lib swt.jar... doivent se trouver dans un répertoire lib EN DEHORS de mon jar test.jar. Java ne reconnais pas les jar dans des jars.

    Les lib swt sont différentes entre linux et windows. Elles se trouvent dans le répertoire plugin de eclipse. (Récupérer la version de eclipse qui correspond à l'OS)

    Ensuite, extraire du fichier swt.jar les librairies natives qui dépendent de l'OS.
    Pour windows (exemple : swt-win32-3235.dll), la placer à la racine de mon projet (au même niveau que test.jar)
    Pour linux (exemple : les .so) les placer dans un répertoire lib-native.

    Lancement du programme sous windows.
    Se positionner à la racine de mon projet.
    lancer : java -jar test.jar
    Pour info, inutile de définir le classpath car il se trouve dans le fichier manifest. Inutile non plus de faire référence à la lib native car windows la trouve automatiquement à la racine du projet.

    Lancement du programme sous linux.
    Se positionner à la racine de mon projet.
    lancer : java -Djava.library.path=./lib-native -jar test.jar
    Sous linux, il est nécessaire d'indiquer au système ou se trouve les librairies natives (.so)

Discussions similaires

  1. Comment lancer une appli sur une machine distante
    Par J.Michel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/09/2007, 14h00
  2. Réponses: 2
    Dernier message: 22/01/2007, 21h06
  3. Réponses: 1
    Dernier message: 26/07/2006, 18h02
  4. Comment lancer une appli JWS depuis une autre appli JWS ?
    Par franck.darcourt dans le forum JWS
    Réponses: 5
    Dernier message: 11/10/2005, 10h30
  5. Comment lancer une appli sans afficher ses fiches
    Par raoulmania dans le forum Langage
    Réponses: 5
    Dernier message: 02/09/2005, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo