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 :

Distribuer son application en un seul JAR


Sujet :

Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Points : 240
    Points
    240
    Par défaut Distribuer son application en un seul JAR
    Bonjour,

    J'ai une application fenêtrée que j'ai créée dans NetBeans.
    Après avoir fait build&clean, j'obtiens un .jar dans le dossier dist.
    Dans ce même dossier, NetBeans m'a rajouté un dossier lib/ qui contient un .jar que j'ai ajouté à mon projet pour pouvoir accéder à ma base de donnée Orable par JDBC.

    Pour distribuer mon application, je dois donc fournir mon point jar ainsi que le dossier lib qui devra être placé au même emplacement que mon .jar, ce qui est un peu lourd...

    Est-il possible de tout combiner pour n'obtenir qu'un et un seul .jar ?

    D'avance merci !

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Lorsque tu utilises des lib tierce comme un driver jdbc, normalement non.

    Ensuite par astuce :

    Extraire les .class des lib sans source et les mettre dans le jar de l'application. Pour les lib open source, tu rajoutes les source dans le projet et tu recompile.

    Je ne suis pas pour, car si tu dois mettre à jour le driver jdbc ou ton appli tu redonne le tout. Alors qu'avec les jar différent tu peux mettre à jour que ce qui est nécessaire.

    Pourquoi vouloir distribuer à tous prix les applications java en un seul jar?

    Si ta motivation est faciliter le déploiement la mise à jour de ton application, pourquoi ne pas te tourner vers un outil fait pour. Je pense à JavaWebStart qui te permettra de livrer les mise à jour sans soucis et sans code supplémentaire. Il peux lancer l'installation de la jvm si nécessaire.

    Après tu peux utiliser des outils comme openInstaller (plugin en version alpha disponible pour Netbeans) ou encore izpack (voir les outils sur DVP).

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Si tu tiens vraiment à tout mettre dans un jar, tu fusionnes les jar. Ce ne sont jamais que des archives que tu peux manipuler facilement avec Winrar par exemple.
    Seul point délicat : le manifest.
    Assure-toi de bien le remplir, en particulier le classpath.

    Mais je vais dans le sens de Tarul, je ne pense pas que cela soit une bonne idée. Ce n'est pas assez flexible.
    De plus, il peut peut-être y avoir des problèmes de licence, mais je n'y connais rien.

    Si tu tiens vraiment à simplifier la distribution en ne livrant qu'un seul jar, tu peux toujours faire un jar d'installation. Tu peux utiliser les outils cités par Tarul ou même le faire toi-même si tu veux.

    Tu écris une classe toute bête (InstallClass pour l'exemple) qui recopie les différents jars à partir du classpath (et éventuellement d'autres fichiers genre fichiers de conf).
    Ensuite, il te reste à créer un jar (install.jar) contenant les différents jars (MonAppli.jar et jdbc.jar) ainsi que ton InstallClass.class qui sera pointée dans le Manifest.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Points : 240
    Points
    240
    Par défaut
    D'accord, merci beaucoup pour vos deux réponses très clair et pointues !
    Je pensais juste que tout mettre dans un seul jar c'était plus commode, du fait que ça fasse un seul fichier puis aussi ne pas avoir à dézipper un dossier de plus.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/03/2010, 10h17
  2. distribuer son application gtk+
    Par Hakenaton dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 08/04/2008, 17h30
  3. distribuer son application java et ses lib [jni]
    Par hpavavar dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 31/05/2007, 10h28
  4. [JAR] Comment déployer son application en incluant un jar ?
    Par david06600 dans le forum Général Java
    Réponses: 6
    Dernier message: 20/02/2006, 10h40

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