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 :

jar inside Jar


Sujet :

Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut jar inside Jar
    Bonjour

    J'ai lu plusieurs article mais je ne dois pas etre reveillé ,j"ai fais un jar qui contient d'autres jar avec un manifest , mais impossible de charger les jars inclus, il me semblais que cela etait possible
    Manifest
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.2
    Class-Path: . .\lib\
    Main-Class: poi2.ReadXlsx1
    La structure de mon jar
    répertoire lib
    repertoire META-INF
    répertoire poi2

    le répertoire poi2 contient ReadXlsx1 (ma classe principale)
    le répéertoire lib contient

    com.springsource.org.dom4j-1.6.1.jar
    poi-ooxml-3.10-FINAL.jar
    poi-3.10-FINAL.jar
    poi-ooxml-schemas-3.10-FINAL.jar
    xmlbeans-2.3.0.jar


    L'appel de mon jar principal
    java -jar C:\\prj_java\\TestAgarder\\poi2\\target\\classes\\poi2\\readXls1.jar


    Mon message d'erreur est NoClassDefFoundError XSSFWorkbook contenu dans le jar poi-ooxml-3.10-FINAL.jar
    Ou est mon erreur ??
    Merci
    Phil

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    L'attribut Class-Path doit lister tous les jars (ce n'est pas la même chose que -cp), séparés par une espace au moins. Une ligne ne pouvant faire plus de 72 octets, il faudra le faire en plusieurs lignes, chacune des lignes supplémentaires commençant par une espace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Class-Path: lib/com.springsource.org.dom4j-1.6.1.jar
     lib/poi-ooxml-3.10-FINAL.jar
     lib/poi-3.10-FINAL.jar lib/poi-ooxml-schemas-3.10-FINAL.jar
     lib/xmlbeans-2.3.0.jar
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,



    Et pour compléter les propos de joel.drigo, l'attribut ClassPath référence des jars à l'extérieur du jar, relativement à ce dernier.
    Donc cela ne marchera pas avec les jar à l'intérieur du jar. Il faut les sortir du jar !


    Si tu veux vraiment faire cela, il va falloir soit gérer cela manuellement avec un ClassLoader personnalisé, soit passer par un outil qui le ferait à ta place (comme One Jar).
    (mais attention car cela pourrait ralentir le démarrage de ton application).



    a++

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Bonsoir à tous et Merci

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

Discussions similaires

  1. [JAR]creation jar sous eclipse
    Par neril dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 26/10/2005, 14h34
  2. [Jar]Un jar qui en contient d'autres
    Par joes_bushi dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 30/08/2005, 16h47
  3. [JAR] Un Jar sécurisé ?
    Par dosbastos dans le forum Sécurité
    Réponses: 3
    Dernier message: 12/08/2005, 09h51
  4. [JAR]package .jar
    Par Mandy dans le forum Général Java
    Réponses: 2
    Dernier message: 10/03/2005, 10h17
  5. [JAR]Eclipse .jar libraries
    Par Nardouille dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 28/07/2004, 11h03

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