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 :

[Probleme] Exporter un .jar / Comment faire fonctionner un manifeste /


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Par défaut [Probleme] Exporter un .jar / Comment faire fonctionner un manifeste /
    Bonjour,

    J'ai un gros probleme à résoudre. J'utilise eclipse pour développer un logiciel qui écrit des marques sur un fichier pdf (j'utilise dond la librairie iText) en utilisant un fichier index qui est en texte : ceux sont les deux paramètres que je dois faire passer dans le programme dans la ligne de commande sur MSDOS (Windows 2000).

    J'ai plusieurs questions qui englobent le même problème.

    Déjà exporter le jar et utiliser un manifest :

    Le jar que j'ai exporté ne s'execute pas, car il n'a pas les librairies que j'ai ajouté, il créer un manifeste par défaut.
    J'ai essayé donc de créer un fichier manifest comme celui ci :

    Manifest-Version: 1.0
    Main-Class: spot.Marquage_Spot_PDF
    lib/iText-rtf-2.1.2u.jar
    lib/iText-rups-2.1.2u.jar
    lib/iText-2.1.2u.jar
    lib/dom4j-1.6.1.jar
    lib/bcprov-jdk14-138.jar
    lib/bcmail-jdk14-138.jar
    lib/pdf-renderer.jar

    Mais quand j'essaye de l'exporter il me signale une erreur : "Ressource is out of sync with the file system : '/SpotPDF/src/spot/manifest'

    Je sais pas si c'est que j'ai loupé quelque chose à mettre, si je l'ai mal écris, si je l'ai mal placé (ou faut il le placé ????).

    N'y a t-il pas des alternatives ?

    Hormis cela il y aussi une autre question d'avoir ma derniere version de java :

    je fais donc dans MSDOS : C:\..........\>java -version

    et la console me dit que 'java' n'est pas reconnu en tant que commande interne... Je n'y comprend rien où j'ai oublié quelque chose.


    Enfin comme je l'ai dit au début du post, je ne sais pas trp comment faire pour faire passer des parametres en ligne de commande je suis donc aller sur ce site : http://java.developpez.com/faq/java/...sLigneCommande

    faut il donc faire : C:\.....>java SpotPDF.jar C:\.....\Monpdf.pdf C:\...\montexte.txt

    pour que mon programme java puisse récupérer en paramètre les chemins des fichiers que je vais traiter ?

    Ou ais je encore une fois rien compris ?

    Désolé pour toutes ces questions, et je vous remercie grandement pour vos réponses, si vous avez une doc qui pourrait me renseigner avec un langage simple car je n'arrive pas trop a comprendre certains passage comme celui du manifest...

    Merci encore pour toutes réponses susceptibles de m'aider

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Djinner² Voir le message
    Bonjour,

    J'ai un gros probleme à résoudre. J'utilise eclipse pour développer un logiciel qui écrit des marques sur un fichier pdf (j'utilise dond la librairie iText) en utilisant un fichier index qui est en texte : ceux sont les deux paramètres que je dois faire passer dans le programme dans la ligne de commande sur MSDOS (Windows 2000).

    J'ai plusieurs questions qui englobent le même problème.

    Déjà exporter le jar et utiliser un manifest :

    Le jar que j'ai exporté ne s'execute pas, car il n'a pas les librairies que j'ai ajouté, il créer un manifeste par défaut.
    J'ai essayé donc de créer un fichier manifest comme celui ci :

    Manifest-Version: 1.0
    Main-Class: spot.Marquage_Spot_PDF
    lib/iText-rtf-2.1.2u.jar
    lib/iText-rups-2.1.2u.jar
    lib/iText-2.1.2u.jar
    lib/dom4j-1.6.1.jar
    lib/bcprov-jdk14-138.jar
    lib/bcmail-jdk14-138.jar
    lib/pdf-renderer.jar

    Mais quand j'essaye de l'exporter il me signale une erreur : "Ressource is out of sync with the file system : '/SpotPDF/src/spot/manifest'

    Je sais pas si c'est que j'ai loupé quelque chose à mettre, si je l'ai mal écris, si je l'ai mal placé (ou faut il le placé ????).

    N'y a t-il pas des alternatives ?

    Hormis cela il y aussi une autre question d'avoir ma derniere version de java :

    je fais donc dans MSDOS : C:\..........\>java -version

    et la console me dit que 'java' n'est pas reconnu en tant que commande interne... Je n'y comprend rien où j'ai oublié quelque chose.


    Enfin comme je l'ai dit au début du post, je ne sais pas trp comment faire pour faire passer des parametres en ligne de commande je suis donc aller sur ce site : http://java.developpez.com/faq/java/...sLigneCommande

    faut il donc faire : C:\.....>java SpotPDF.jar C:\.....\Monpdf.pdf C:\...\montexte.txt

    pour que mon programme java puisse récupérer en paramètre les chemins des fichiers que je vais traiter ?

    Ou ais je encore une fois rien compris ?

    Désolé pour toutes ces questions, et je vous remercie grandement pour vos réponses, si vous avez une doc qui pourrait me renseigner avec un langage simple car je n'arrive pas trop a comprendre certains passage comme celui du manifest...

    Merci encore pour toutes réponses susceptibles de m'aider
    Pour le "file out of sync" sous eclipse un refresh du projet (F5 après avoir sélectionné le projet) suffit à resynchroniser le tout.

    Pour la version de java, si le répertoire de l'install n'est pas dans le path c'est normal qu'il ne la trouve pas. Dans quel répertoire utilises-tu java -version ?

    Pour passer des arguments en ligne de commande tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar monjar.jar arg1 arg2 arg3
    et dans ta méthode main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void main(String[] args) {
        for(int i = 0; i < qrgs.length; i++) {
            System.out.println(args[i]);
        }
    }
    et tu verras tes arguments s'afficher

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Par défaut
    Citation Envoyé par George7 Voir le message
    Pour le "file out of sync" sous eclipse un refresh du projet (F5 après avoir sélectionné le projet) suffit à resynchroniser le tout.

    Pour la version de java, si le répertoire de l'install n'est pas dans le path c'est normal qu'il ne la trouve pas. Dans quel répertoire utilises-tu java -version ?
    Je l'utilise directement dans la C: etc... Faut il que je le lance à partir du répertoire où j'ai installé le JRE ? Où autre part ?


    Pour passer des arguments en ligne de commande tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar monjar.jar arg1 arg2 arg3
    et dans ta méthode main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void main(String[] args) {
        for(int i = 0; i < qrgs.length; i++) {
            System.out.println(args[i]);
        }
    }
    et tu verras tes arguments s'afficher
    Ok merci ! Donc cela veut dire que je peux passer un chemin comme C:\\....\\Nomtxt.txt en parametre ! Ca m'aide grandement !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Djinner² Voir le message
    Je l'utilise directement dans la C: etc... Faut il que je le lance à partir du répertoire où j'ai installé le JRE ? Où autre part ?
    Oui dans le répertoire d'install si celui ci n'est pas dans le path du système, sinon c'est normal qu'il ne trouve pas l'exécutable

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Par défaut
    Citation Envoyé par George7 Voir le message
    Oui dans le répertoire d'install si celui ci n'est pas dans le path du système, sinon c'est normal qu'il ne trouve pas l'exécutable
    Hé bé j'ai enfin réussir à lancer mon application a travers la console windows :

    C:....>C:\Java\java.jdk1.6.0_06\bin\java.exe -jar C:\java\SpotPDF.jar "C:\\....\\Monpdf.jar" "C:\\....\\Montxt.txt"

    Faut il garder les \\ dans le passage d'argument pour indiquer un chemin pour ouvrir les fichiers pdf et txt ?

    Il m'a trouvé une exception du coup il ne peut pas utiliser la librairie itext (com.lowagie.text.PDF.PDFReader).

    L'exception est : java.lang.NoClassDefFoundError : com/lowagie/text/pdf/PdfReader

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    pour ajouter des librairies au classpath dans un jar il faut utiliser dans le manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Class-Path: lib/jar1.jar lib/jar2.jar
    Avec le chemin de tes librairies en relatif par rapport à l'emplacement de ton jar. Dans mon exemple on a cette arborescence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    racine_appli
     |_ monjar.jar
     |_ lib
          |_ jar1.jar
          |_ jar2.jar
    En espèrant que ca t'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire fonctionner un .jar
    Par Asmod_D dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 09/04/2007, 22h51
  2. [Vs.Net & SQL Serveur] Comment faire fonctionner le Débu
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/08/2005, 19h23
  3. Comment faire fonctionner une scroll bar ???
    Par toto4650 dans le forum MFC
    Réponses: 10
    Dernier message: 18/07/2005, 16h47
  4. [Chat] Comment faire fonctionner Flash 7 sous Debian ?
    Par piff62 dans le forum Evolutions du club
    Réponses: 22
    Dernier message: 07/03/2005, 15h27
  5. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00

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