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

Eclipse Java Discussion :

[JAR]eclipe et jar => pas la meme execution


Sujet :

Eclipse Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [JAR]eclipe et jar => pas la meme execution
    Bonjour,

    J'ai developpe un projet sous eclipse en utilisant les bibliotheques xerces.jar et xml-api.jar.

    j'ai créé notament une méthode pour sérialiser un noeud xml et pour cela j'utilise depuis xerces.jar:
    org.apache.xml.serialize.XMLSerializer;
    org.apache.xml.serialize.OutputFormat;

    Lorsque j'execute le projet depuis eclipse tout se passe bien.

    Maintenant lorsque je genere un .jar de mon projet (contenant mes fichiers java et xerces.jar) et que je l'appelle, pour windows, depuis un .bat contenant les 2 lignes:
    set CLASSPATH=.;%CLASSPATH%
    java -jar monprojet.jar

    l'erreur suivante se produit:
    java.lang.NoClassDefFoundError: org/apache/xml/serialize/BaseMarkupSerializer
    ...

    Lorsque je mets en commentaire ma methode de serialisation, tout le reste fonctionne correctement.

    Savez-vous ce qui explique ce decalage entre l'execution dans eclipse et depuis le .jar? et si oui, comment resoudre mon probleme?

    je vous remercie!



    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre habitué Avatar de relivio
    Profil pro
    Inscrit en
    Février 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 157
    Points : 177
    Points
    177
    Par défaut
    salut,

    je pense que le décalage vient du fait que sous éclipse tu as du lui donner les librairies à utiliser, mais quand tu fais java -jar lib.jar la commande java ne connais pas forcément les librairies des plugins eclipse

    olivier
    je pense que l'utilisation du balai chiotte n'est pas interdite et est même recommandé par les suivants!!!!

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par relivio
    je pense que le décalage vient du fait que sous éclipse tu as du lui donner les librairies à utiliser, mais quand tu fais java -jar lib.jar la commande java ne connais pas forcément les librairies des plugins eclipse

    olivier
    Merci de ta reponse

    en fait je n'utilise que xerces.jar et les librairies "standard" et j'ai inclus xerces.jar dans le .jar que je genere (c'est peut etre pas tres propre...).

    Si le probleme vient du fait que java ne connait pas les librairies des plugins eclipse, comment faire pour resoudre ce probleme? y a t il un moyen de lui fournir ce qui lui manque?

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Citation Envoyé par herminig
    en fait je n'utilise que xerces.jar et les librairies "standard" et j'ai inclus xerces.jar dans le .jar que je genere (c'est peut etre pas tres propre...).

    Si le probleme vient du fait que java ne connait pas les librairies des plugins eclipse, comment faire pour resoudre ce probleme? y a t il un moyen de lui fournir ce qui lui manque?
    Effectivement, c'est tellement pas très propre que ça ne marche pas... La solution que j'utilise, qui n'est pas non plus très propre, c'est que je désarchive les jar à intégrer, et que je place les répertoires obtenus dans le nouveau jar.

    Et ça marche !!! Sans prise de tête sur le classpath...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par ced
    La solution que j'utilise, qui n'est pas non plus très propre, c'est que je désarchive les jar à intégrer, et que je place les répertoires obtenus dans le nouveau jar.
    ced
    je viens d'essayer ta méthode mais j'ai toujours la même erreur... j'utilise xerces.jar dans plusieurs fichiers mais c'est uniquement lorsque je fais:

    OutputFormat format = new OutputFormat("XML","UTF-8",true);
    XMLSerializer serializer = new XMLSerializer(out,format);

    que l'exception se produit:
    java.lang.NoClassDefFoundError: org/apache/xml/serialize/BaseMarkupSerializer

    Pourquoi ne trouve-t-il pas cette classe alors qu'il trouve bien les autres classes de xerces?

    Je vais malgré tout garder ta technique de ne pas mettre le xerces.jar dans mon nouveau .jar. C'est plus propre. Merci de ta réponse

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de m'avoir repondu mais j'ai finalement trouve!

    C'etait un probleme de classpath et donc effectivement il ne trouvait pas la bibliotheque

    Si d'autres rencontrent ce probleme, il faut faire un fichier "monprojet.bat" et dedans ecrire:

    set CLASSPATH=.
    set CLASSPATH=%CLASSPATH%;.\lib\xerces.jar
    set CLASSPATH=%CLASSPATH%;.\lib\monprojet.jar

    java packagePrincipal.ClasseContenantLeMain

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

Discussions similaires

  1. Jar qui ne s'éxécute pas
    Par jerem721 dans le forum Général Java
    Réponses: 4
    Dernier message: 15/03/2009, 16h28
  2. Jar en applet ne fonctionnant pas
    Par Nix6800 dans le forum Applets
    Réponses: 7
    Dernier message: 26/06/2008, 19h22
  3. [JAR]Création de Jar -> trouve pas la classe main
    Par Zapan dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/01/2006, 11h17
  4. [JAR] Archive qui ne prend pas en compte librairie externe
    Par Shiryu44 dans le forum Général Java
    Réponses: 3
    Dernier message: 22/04/2005, 13h59
  5. [Jar] Double clique ne fonctionne pas ...
    Par sylvain_2020 dans le forum Général Java
    Réponses: 4
    Dernier message: 11/08/2004, 19h24

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