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] Jar dans un jar [FAQ]


Sujet :

Java

  1. #1
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut [Jar] Jar dans un jar
    Bonjour,

    J'ai un probleme dont je ne trouve pas la solution malgre les infos que j'ai trouve sur le net.

    Je voudrais creer un jar executable Applet.jar, dont la classe unique et principale utilise un jar tree.jar.

    Je fais donc les actions suivantes:

    - compilation de la classe Test.java
    - creation du manifest
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Main-Class: Test
    Class-Path: tree.jar
    - creation du jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jar cmf manifest.txt Applet.jar Test.class tree.jar
    Mon jar contient alors bien le manifest, tree.jar et Test.class

    au lancement du jar avec java -jar Applet.jar, ca fonctionne
    si je change Applet.jar de repertoire, ca ne fonctionne plus = NoClassDefFoundError pour une classe contenue dans tree.jar.

    Pourquoi? Ai-je commis un erreur fatale?

    Merci d'avance

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Personnellement, je n'ai jamais réussi (pas trop trop essayé non plus) de mettre un jar dans un jar. Donc soit tu les sépares (c'est faisable je crois) soit tu dézippes le 1er et tu mets ses classes avec les tiennes et tu rezippes le tout (c'est ce que je fais) en faisant gaffe au manifest (mais ds un applet le manifest...)
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Oui mais bon

    Ca doit bien etre possible! le probleme est que je developpe ca pour m'entrainer avant de passer sur un gros projet de ma boite. Et la, ce sont des dizaines de jar. Si a chaque fois qu'un de ces jars est modifie, il faut tout reprendre, c'est rapidement le bazar.

    En tout cas merci nuke_y, et si qq'un a deja reussi..

    A bon entendeur!

  4. #4
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bah disons surtout que si TU y arrives, tu nous fait signe. lol
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  5. #5
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Et si je pose la question autrement, peut etre y aura t-il des reponses?

    Je dois creer une Applet (comme son nom l'indiquait) qui utilise des jar. Et forcement, puisque mon jar Applet.jar ne fonctionne pas si les lib ne sont pas dans le meme repertoires, mon Applet ne fonctionne pas non plus sur le Web.

    Bijar? Vous avez dit Bijar?

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ceci doit t'intéresser, mais c pas top top je trouve : http://www-106.ibm.com/developerwork...rary/j-onejar/
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  7. #7
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut
    mais normalement tu n'es pas obligé de mettre les "sous-jar" dans le jar principale...

    il suffit que ton manifest indique ou il peut trouver ces sous jar et le tour est joué...

    par exemple ton manifest a des lignes comme celles-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class-path:
     ./lib/tutu.jar
     ./lib/toto.jar
    et tu mets ton jar a la racine du répertoire, puis tu crée un répertoire lib avec tes jar dedans et voila c fini...peut importe que ce soit une applet ou pas...

    tchÔ
    Hum hum hum...géant vert ! ! !
    Le meilleur moyen de trouver c encore de chercher ! ! !

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    C'est une solution intéressante SURTOUT si les jar ne t'appartiennent pas (car tu peux les distribuer tels quels, sans les dézipper). Bon merci Piolet, tu as confirmé ce que je pensais mais que je n'avais jamais essayé.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  9. #9
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut
    bah 2 rien...en tout cas moi..c'est comme ca que je fais...
    Hum hum hum...géant vert ! ! !
    Le meilleur moyen de trouver c encore de chercher ! ! !

  10. #10
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Je pense d'ailleurs que c'est la solution spécifiée par Sun mais je n'ai pas vérifié.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  11. #11
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Piolet
    mais normalement tu n'es pas obligé de mettre les "sous-jar" dans le jar principale...

    il suffit que ton manifest indique ou il peut trouver ces sous jar et le tour est joué...

    par exemple ton manifest a des lignes comme celles-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class-path:
     ./lib/tutu.jar
     ./lib/toto.jar
    et tu mets ton jar a la racine du répertoire, puis tu crée un répertoire lib avec tes jar dedans et voila c fini...peut importe que ce soit une applet ou pas...
    Ben ecoutez, chez moi ca marche pas... Je sais pas ce que je fais comme bidouille a deux balles... (ps mon jar est genere par eclipse)

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

Discussions similaires

  1. Images dans un JAR (tout dans un seul exécutable)
    Par jujusous3 dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 21/02/2010, 00h02
  2. Inclusion d'un fichier properties dans un jar avec la commande jar
    Par Lolitaaa dans le forum Général Java
    Réponses: 3
    Dernier message: 15/12/2009, 14h17
  3. Jar inclus dans un Jar ou pas?
    Par lextaz33 dans le forum Général Java
    Réponses: 2
    Dernier message: 30/09/2009, 11h24
  4. Charger les classes d'un Jar incluses dans un Jar
    Par daronmaster dans le forum Général Java
    Réponses: 2
    Dernier message: 08/06/2009, 22h11
  5. Exporter JAR google dans le Jar de mon application
    Par ddyhia dans le forum Général Java
    Réponses: 6
    Dernier message: 06/03/2009, 16h36

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