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 :

jar avec JExcel (Eclipse 3.1)


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut jar avec JExcel (Eclipse 3.1)
    Bonjour à tous,

    mon problème a déjà été posé : je tente de créer un jar executable sous Eclipse sachant que le projet fait appel jxl.jar. J'ai recherché un maximum d'infos sur la toile et essayé divers solutions mais je ne m'en sors pas !

    1 - ajout d'un répertoire META-INF au niveau du répertoire
    2 - Utilisation de la fonctionnalité "Export" pour créer le jar
    3 - modification du MANIFEST.MF afin d'ajouter la ligne Class-Path

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Class-Path: E:/appft/jexcelapi/jxl.jar
    Main-Class: LanceurI45ATP
    Lorsque je veux exécuter le jar, le message suivant apparait "Could not find the main class. Program will exit". Or dans le fichier MANIFEST.MF, j'ai bien la ligne
    "Main-Class: LanceurI45ATP" qui est bien la "main class" de mon projet !!

    J'ai essayé en ligne de commande sous DOS d'exécuter le jar et là j'ai le message suivant "Exception in thread 'main' java.lang.NoClassDefFoundError: jxl/workbook"


    J'ai aussi suivi la conversation de free-lance du 12/06 au 16/06 avec djo.mos et j'ai recommencé la manip du repertoire avec que les .class et la constitution du jar sous DOS...
    Lorsque je tente d'exécuter le jar, je me fais insulter comme quoi mon jar est invalide !

    JE NE COMPRENDS PLUS RIEN

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

    Il me semble que tu dois donner un chemin relatif pour le classpath, relatif au répertoire où se trouve ton jar. Genre ici, si tu as cette arboresecence:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    rep-racine
    |_ monjar.jar
    |_lib
       |_jxl.jar
    Dans le manifest de monjar.jar, tu dois mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0
    Class-Path: lib/jxl.jar
    Main-Class: LanceurI45AT

  3. #3
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut
    Bonsoir George7,

    j'ai suivi tes conseils mais sans succès. Pour info, je travail sous Eclipse/Windows XP. Je ne sais pas si "slash" ou "anti slash" a de l'importance...
    Qu'importe j'ai essayé les 2 syntaxes et j'ai la même punition : sous DOS me retourne "Exception in thread 'main' Java.Lang.NoClassDefFoundError : jxl/workbok"

    Sur une autre plateforme mais avec toujours le même projet (et les mêmes classes) j'ai tenté de passer l'option -classpath="xxx;yyy" avec xxx le chemin qui pointe vers le package de mes classes et yyy le chemin qui pointe vers jxl.jar. Pas mieux !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut

    Dans le manifest c'est une URL si je ne m'abuse donc des slash.

    Sinon tu peux nous montrer le code qui provoque l'erreur ? Tu as bien fait l'arborescence comme je t'ai dit ?
    Tu es sûr qu'il y a une classe workbok dans jxl ?
    Bref là sans plus d'info je peux pas t'en dire plus

    A plus

  5. #5
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ça devrait très bien marcher en faisant l'Export avec Eclipse !
    L'erreur fréquente est que quand on fais Export on fait ensuite Finish de suite sans faire Suivant /!\
    Si tu fais bien toutes les étapes calmement tu tombera sur la sélection de la classe Main

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jojodu31 Voir le message
    ça devrait très bien marcher en faisant l'Export avec Eclipse !
    L'erreur fréquente est que quand on fais Export on fait ensuite Finish de suite sans faire Suivant /!\
    Si tu fais bien toutes les étapes calmement tu tombera sur la sélection de la classe Main
    Vue l'erreur je dirais pas que l'erreur est qu'il trouve pas la classe main mais plutôt que dans le thread il ne trouve pas la définition de la classe jxl/workbok... Non ?

  7. #7
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut
    j'ai bien suivi les étapes de l'Export dès le départ et la Class main a toujours été déclaré dans le MANIFEST.

    je joind une copie d'écran ...

  8. #8
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut
    Désolé pour la copie. Il faudra faire sans. Le projet est sous

    E:\workspace\INDICATEURS
    .classpath
    .project
    <REP> I45ATP --> contient toutes les classes (.class et .java)
    INDICATEURS.jar
    <REP> META-INF --> contient le MANIFEST.MF


    et le jxl.jar sous E:\appft\jexcelapi

  9. #9
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut
    j'ai déplacé toutes mes classes (.class seulement) dans un autre repertoire nommé I45ATP. J'y ai ajouté aussi le .classpath. J'ai créé un répertoire LIBJAR dans lequel j'ai copié le jxl.jar

    sous DOS et dans le répertoire I45ATP j'exécute la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jar cvfm monjar.jar META-INF/MANIFEST.MF .
    Résultat : java.io.FileNotFoudException. --> taille du jar = 0

    J'ai donc créé le fichier META-INF/MANIFEST.MF et j'ai rejoué ma commande.
    Résultat : java.util.zip.ZipException: duplicate entry : META-INF/MANIFEST.MF --> taille du jar = 671 kb mais à l'exécution j'ai un message d'erreur comme quoi le jar est invalide ou corrompu. La galère continue...

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dbqg7322 Voir le message
    j'ai déplacé toutes mes classes (.class seulement) dans un autre repertoire nommé I45ATP. J'y ai ajouté aussi le .classpath. J'ai créé un répertoire LIBJAR dans lequel j'ai copié le jxl.jar

    sous DOS et dans le répertoire I45ATP j'exécute la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jar cvfm monjar.jar META-INF/MANIFEST.MF .
    Résultat : java.io.FileNotFoudException. --> taille du jar = 0

    J'ai donc créé le fichier META-INF/MANIFEST.MF et j'ai rejoué ma commande.
    Résultat : java.util.zip.ZipException: duplicate entry : META-INF/MANIFEST.MF --> taille du jar = 671 kb mais à l'exécution j'ai un message d'erreur comme quoi le jar est invalide ou corrompu. La galère continue...
    Le .classpath est pour eclipse tu en as pas besoin... Tes .class sont dans un jar ok ?
    Là où tu as ton jar tu as un répertoire lib (par exemple) avec dedans ton jxls.jar, jusque là tu as tout comme ca ?

    Montre nous le MANIFEST.MF que tu as créé. J'ai donnéplus haut lastructure de l'arborescence et du manifest, tu as bien tout respecté ?
    Vu ton post précedent tu avais loupé un truc vu que ta lib était encore ailleurs (E:\...)

  11. #11
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut
    mes .class ne sont pas dans un jar ! C'est justement ce que j'essaie de créer.
    Quant à mon MANIFEST, il est vide puisque toutes les manip ont plantées.

    Oublions ECLIPSE et son Export.

    A la racine du disque, j'ai :

    INDICATEURS <rep>
    |_ I45ATP <rep>
    |_ toutes mes classes <.class>
    |_LIBJAR <rep>
    |_ jxl.jar

    si je tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jar cvfm monjar.jar META-INF/MANIFEST.MF .
    : ça plante.

    Donc je crée le rep META-INF

    INDICATEURS <rep>
    |_ I45ATP <rep>
    |_ toutes mes classes <.class>
    |_LIBJAR <rep>
    |_ jxl.jar
    |_META-INF <rep>

    et rejoue la commande : ça plante.

    Donc je crée le fichier MANIFEST.MF (vide) sous META-INF et rejoue la commande : ça ne plante pas. Toutes mes classes sont dans monjar.jar

    INDICATEURS <rep>
    |_ I45ATP <rep>
    |_ <vide>
    |_LIBJAR <rep>
    |_ jxl.jar
    |_META-INF <rep>
    |_MANIFEST.MF (vide)
    |_monjar.jar


    mais monjar est corrompu ou invalide.

    Alors, j'ouvre monjar.jar avec 7zip et j'ajoute les lignes suivantes dans le manifest

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Class-Path: LIBJAR/jxl.jar
    Main-Class: I45ATP.LanceurI45ATP
    avec ligne blanche en dernier. Double-clic sur le jar--> "corrompu ou invalide"

  12. #12
    Invité
    Invité(e)
    Par défaut
    Salut
    Bon alors je sais pas si ca peut t'aider mais ne voulant pas tout répéter va voir ici : http://www.developpez.net/forums/sho...d.php?t=573541
    Ton problème vient peut-être d'une mauvaise compréhension de comment cva marche.
    Vu que tu utilises eclipse fais tout ca avec eclipse c'est tellement simplifié... Tu peux créer ton proper fichier manifest et à l'export le spécifier. Si tu suis tous les points que j'ai donnés dans le trhead cité ca devrait marcher
    A plus

  13. #13
    Membre confirmé
    Homme Profil pro
    AMOE
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : AMOE

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Par défaut
    j'ai constitué mon .jar sous ECLIPSE --> INDICATEURS.jar.
    Ensuite, j'ai déplacé ce jar sous le INDICATEURS. Ce répertoire contient un sous-rép LIBJAR et LIBJAR contient jxl.jar.

    J'ai ouvert le manifest de INDICATEURS.jar avec 7zip et j'ai ajouté la ligne Class-Path pour obtenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Class-Path: LIBJAR/jxl.jar
    Main-Class: I45ATP.LanceurI45ATP
    Et bien...ça fonctionne.

    Merci, pour ta patience...

  14. #14
    Invité
    Invité(e)
    Par défaut
    De rien de rien...
    Oublie pas le

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

Discussions similaires

  1. Prob creation jar avec eclipse
    Par tsyfar dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 22/02/2007, 17h38
  2. fichier jar avec eclipse
    Par gnocki dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 02/11/2006, 10h23
  3. lancer un jar avec Eclipse
    Par mj.air dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 05/10/2006, 16h55
  4. Problème de fichier jar avec eclipse<débutant>
    Par melodie53 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 28/07/2006, 15h41
  5. [JAR]Création d'un JAR avec des dependances sous Eclipse
    Par muthnik dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/07/2005, 17h39

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