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

Java Discussion :

Conflit dans mon excécutable?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut Conflit dans mon excécutable?
    Bonsoir à tous,

    je developpe une application sous eclipse.

    J'ai bcp de jar extérieur que j'ai ajouté.

    Dans une de mes fonctions, j'ai ceci:
    org.apache.poi.hwpf.extractor.WordExtractor we = new org.apache.poi.hwpf.extractor.WordExtractor(fileIn);

    qui est en rapport avec POI de jakarta (remarquez que j'ai mis TOUTE la ligne, j'ai evité l'"import" car j'avais peur que le probleme venait de là).
    Dans une autre class, j'ai aussi du WordExtractor, mais d'une autre API (de lius, Lucene)

    Lorsque je lance mon application sous eclipse, tout se passe bien, mon fichier word est bien lu et les info tres bien extraite (pour les 2 class)

    Par contre, quand je mets en place un jar excécutable (exportation) tout en incorporant les differente JAR, là ca ne fonctionne plus!!!
    La class de Lius fonctionne, mais pas la class contenant
    org.apache.poi.hwpf.extractor.WordExtractor we = new org.apache.poi.hwpf.extractor.WordExtractor(fileIn);
    . L'application s'arrete à ce niveau là (impossible de récupérer l'erreur car pas de console). Donc mon application s'arrete la.

    Par contre, si je ne prends pas l'API de lius, la ligne
    org.apache.poi.hwpf.extractor.WordExtractor we = new org.apache.poi.hwpf.extractor.WordExtractor(fileIn);
    fonctionne tres bien (mais plus lius du coup).

    Quelqu'un peut-il me donner une solution pour résoudre ce problème? car moi j'ai essayé bcp de chose, mais rien trouvé!!

    D'avance merci

    PS: ce qui me parait bisar, c'est que ca fonctionne sans AUCUN probleme sous eclipse, mais plus lors de l'exécutable (j'utilise FatJar pour mettre toutes mes API dans une seule JAR).

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Terminator
    . L'application s'arrete à ce niveau là (impossible de récupérer l'erreur car pas de console).
    Ben lances ton application depuis une console :
    Sinon le problème risque d'être dur à déterminer...

    a++

  3. #3
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Merci pour ton soutien et pour l'astuce de lancer un jar exécutable sous console (je ne savais pas qu'on pouvait le faire ...)

    voilà l'erreur retournée:
    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
    29
    30
    31
    32
    33
     
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.apache.poi.hwpf.model.TextPiece.getCP()I
            at org.apache.poi.hwpf.model.SectionTable.CPtoFC(SectionTable.java:102)
            at org.apache.poi.hwpf.model.SectionTable.<init>(SectionTable.java:69)
            at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:213)
            at org.apache.poi.hwpf.extractor.WordExtractor.<init>(WordExtractor.java
    :40)
            at org.apache.poi.hwpf.extractor.WordExtractor.<init>(WordExtractor.java
    :32)
            at Application.Doc.doc(Doc.java:214)
    //COMMENTAIRE DE MOI  cette ligne dans Doc.doc: org.apache.poi.hwpf.extractor.WordExtractor we = new org.apache.poi.hwpf.extractor.WordExtractor(fileIn);
            at Application.AnalysePrincipale$2.mousePressed(AnalysePrincipale.java:188)
            at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
            at java.awt.Component.processMouseEvent(Unknown Source)
            at javax.swing.JComponent.processMouseEvent(Unknown Source)
            at java.awt.Component.processEvent(Unknown Source)
            at java.awt.Container.processEvent(Unknown Source)
            at java.awt.Component.dispatchEventImpl(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Window.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    Je ne sais pas ce qu'est- cette erreur mais plusieurs qustions me traverses l'esprit:

    1/ Pourquoi quand j'ajoute pas certain jar, ca fonctionne, mais lorsque j'ajoute les jar de LUIS (une extension de lucene), ca fait ca?
    2/ Est-il possible que ca fonctionne sous eclipse (pdt le developpement) sans AUCUN probleme et aucun conflit et là, erreur (On peut pas dire que j'ai oublié d'ajouter un jar ou autre, car comme je l'ai dit, c'est on ajoutant des jar supplementaires que ca deconne)

    D'avance merci à ceux qui peuvent m'aider car je dois terminer ce projet assez rapidement et là, c'est de l'innatendu (car je ne pensais pas que j'allais avoir une telle surpise en exportant mon application).
    PS: j'ai une autre question idiote: puis-je exporter en jar mon application avec le truc fourni de serie avec Ecplise (sans FatJar) et utiliser mes bibliothques externes de fichiers en plus (cad à coté, pas compris ds le jar). Si oui, comment fait-on? (enfin, je veux dire où mettre les jar ext par rapport à mon jar exé).

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Terminator
    1/ Pourquoi quand j'ajoute pas certain jar, ca fonctionne, mais lorsque j'ajoute les jar de LUIS (une extension de lucene), ca fait ca?
    J'ai l'impression qu'il doit y avoir un conflit de jar (deux jar qui intègre la même classe mais dans des versions différentes). En effet il ne trouve pas une méthode (qui a surement été ajouté dans un des versions).

    Quel version de POI tu utilises ?

    Citation Envoyé par Terminator
    2/ Est-il possible que ca fonctionne sous eclipse (pdt le developpement) sans AUCUN probleme et aucun conflit et là, erreur (On peut pas dire que j'ai oublié d'ajouter un jar ou autre, car comme je l'ai dit, c'est on ajoutant des jar supplementaires que ca deconne)
    Franchement aucune idée... mais je ne connais pas très bien le fonctionnement de FatJar, mais je sais qu'il manipule le ClassLoader, donc il est possible qu'il y ait un impact sur le chargement des classes...

    Citation Envoyé par Terminator
    PS: j'ai une autre question idiote: puis-je exporter en jar mon application avec le truc fourni de serie avec Ecplise (sans FatJar) et utiliser mes bibliothques externes de fichiers en plus (cad à coté, pas compris ds le jar). Si oui, comment fait-on? (enfin, je veux dire où mettre les jar ext par rapport à mon jar exé).
    Oui, mais tu dois définir ton propre fichier Manifest (eclipse ne gère que la classe principale).

    Ce fichier doit être de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Main-Class: package.NomDeLaClassePrincipale
    Class-Path: lib/lib1.jar lib/lib2.jar lib/lib3.jar
    Avec Main-Class qui pointe vers ta classe principale, et Class-Path qui liste les librairies utilisées par ton jar (en chemin relatif par rapport à ton jar : dans mon exemple les librairies externes sont dans un répertoire lib/ présent à coté du jar principale).

    Plus d'info : Comment créer un jar exécutable ?

    a++

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Merci pour ta reponse (malgré que celle-ci me fasse peur )

    Quel version de POI tu utilises ?
    J'ai plusieurs jar en meme temps pour celle-ci:
    2.5final, 3.0alpha et 3.0 scratchpad.

    Je vais essayer pour voir avec le manifest,
    Mais le plus etrange c'est qd meme que ca fonctionne sous eclipse et plus en jar

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Terminator
    J'ai plusieurs jar en meme temps pour celle-ci:
    2.5final, 3.0alpha et 3.0 scratchpad.
    Tu les utilises tous en même temps ????

    Si oui ton problème vient surement de là (et d'un ordre de chargement différent entre eclipse et FatJar).

    Pourquoi utilises-tu plusieurs versions ???

    a++

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

Discussions similaires

  1. [VB.NEt/CF] Conflit dll mscorlib dans mon projet ftp
    Par sane79 dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 03/11/2006, 08h26
  2. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59
  3. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35
  4. Réponses: 7
    Dernier message: 26/06/2003, 09h11
  5. [] Utiliser AVI d'une DLL dans mon programme
    Par seb.49 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/05/2003, 14h52

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