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

Langage Java Discussion :

fichier jar en ligne de commande


Sujet :

Langage Java

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    donc je recapitule

    j'ai un repertoire lib contenant toutes les librairies inimaginable sur swt linux et windows

    sur le meme niveau j'ai un repertoire testport dans lequel j'ai les .class

    j'ai un repertoire META-INF avec un fichier MANIFEST.MF le quel contient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0 
    Main-Class: TestSWT2
    Class-Path: ./lib/org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar
    je creer mon jar a l'aide de la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jar cvfm testport.jar META-INF/MANIFEST.MF -C testport .
    j'execute mon jar a l'aide de la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar testport.jar
    il fonctionne impeccable sous windows

    maintenant sous linux je tape

    java -jar testport.jar, ca plante, ce qui est normal car il ne trouve pas la librairie gtk, donc je modifie le meta-inf sous linux, car j'ai la meme structure de repertoire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0 
    Main-Class: TestSWT2
    Class-Path: ./lib/org.eclipse.swt.gtk.linux.x86_3.3.1.v3346i.jar
    je tape la commande suivante sous linux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar testport.jar
    ca marche impeccable sous linux, donc , la personne sous linux sera oblige de modifier le jar , de recreer le jar pour que ca puisse fonctionner sous linux.

    aussi je rappel que j'ai tester toutes les possiblites, j'ai inclut dans le manifest toutes librairies necessaire windows et linux , swt.jar etc... , et ca ne marchait pas non plus.

    donc soit il y a un probleme de version de java sous mon linux ou soit j'ai oublie quelque chose , mais la je ne voit car tout y est, le repertoire lib a toutes les bibliotheque.

    sinon si quelqu'un pouvais me dire ce que je doit mettre exactement sur le manifest.mf.

    j'ia aussi teste dans le fichier manifest ceci sans resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0 
    Main-Class: TestSWT2
    Class-Path: ./lib/org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar ./lib/org.eclipse.swt_3.3.0.v3346.jar ./lib/org.eclipse.swt_3.3.0.v3346.jar
    j'ai mis aussi pour windows dans le repertoire lib la dll swt-win32-3346.dll

    j'utilise java 1.6.0.02 et les libriarie 3.3.

    j'ai utilise aussi cette commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath .\lib\org.eclipse.swt_3.3.0.v3346.jar;.\lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar -Djava.library.path=".\lib" TesTSWT2
    aucun resultat, peut etre un probleme de guillemet au niveau du parametre -D ou bien il faut mettre des guillemets dans le parametre classpath, j'ai deja essaye tous ca sans resultat.

    ce que j'ai a l'ecran DOS c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java -classpath .\lib\org.eclipse.swt_3.3.0.v3346.jar;.\lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar -Djava.library.path=".\lib" TesTSWT2
    Exception in thread "main" java.lang.NoClassDefFoundError: TesTSWT2
    Merci de votre aide.

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    pour la ligne de commande ca marche maintenant, j'avais oublie le poin dans le classpath

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath .;.\lib\org.eclipse.swt_3.3.0.v3346.jar;.\lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar -Djava.library.path=".\lib" TesTSWT2
    donc maintenant en ligne de commande ca fonctionne a une condition que les .class je les mette dans le meme niveau ou je tape ma commande, car en les mettant dans un repertoire j'ai une erreur classNotFound.

    donc si la ligne de commande fonctionne ca resoudrait tout mes problemes car au lieu de modifier le manifest et recreer le jar je n'aurais plus qu'a fournir un script avec la bonne ligne de commande.

    je vais teste ca sous linux et windows, j'espere que ca marchera et que je pourrais mettre ce topic à resolu.

    Merci.

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    je viens de resoudre le probleme des .lacc pour qu'il se mette dans un reperoire
    comme ceci en ajoutant le repertoire dans le classpath, je pensais que le classpath etait uniquement pour les jar.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath .;.\lib\org.eclipse.swt_3.3.0.v3346.jar;.\lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar .\testport -Djava.library.path=".\lib" TesTSWT2
    voila encore un truc de resolu.

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    la ligne de commande fonctionne maintenant pour les deux os, donc je peut faire un package, domage qu'avec les jar sa ne fonctionne pas la bibliotheque se trouve dans le fichier manifest.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Convertir un fichier HTML en fichier PDF en ligne de commande
    Par koKoTis dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 16/06/2009, 00h06
  2. probleme pour lancer un jar en ligne de commande
    Par progamer54 dans le forum Langage
    Réponses: 11
    Dernier message: 05/12/2007, 16h35
  3. Convertir un fichier HTML en fichier CHM en ligne de commande
    Par koKoTis dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 18/11/2006, 14h39
  4. Imprimer fichiers images en ligne de commande
    Par naholyr dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 02/09/2004, 19h11

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