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

avec Java Discussion :

créer .exe ou laisser .jar


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 75
    Points : 54
    Points
    54
    Par défaut créer .exe ou laisser .jar
    Bonjour,

    J’ai réalisé un petit programme java avec eclipse mais je ne sais pas comment générer un exe (je trouve bizarre de ne pas trouver facilement). J’ai exporté un jar, ça fait l’affaire mais je ne peux ni l’archiver avec winrar et au contraire ça me dézippe (et ce n’est pas beau). J’aurai voulu savoir comment on exporte en format windows, mac ou linux, si c’est intégré à eclipse ou s’il faut un logiciel supplémentaire. Je trouve personnellement bizarre de livrer un jar plutôt qu’un exe c’est pour ça que je demande, et si il est fréquent et normal de livrer un jar au client merci de me le faire savoir.

  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,

    On peut tout à fait livrer un jar, du moins s'il est exécutable (dans Eclipse, c'est Export/Runnable Jar File) puisqu'on peut le lancer par double-clic comme un exécutable (si le paramétrage initial de la JRE n'a pas été modifié). En revanche, cela oblige d'une part d'installer une JRE sur le poste (de la version adéquate), et l'installation et la mise à jour ne snt pas très simple pour la plupart des utilisateurs, sans parler de la désinstallation. Mais ça permet de livrer la même chose (un fichier unique) pour tout le monde (sauf si le programme fait appel à des bibliothèques natives, et qu'on ne veut pas livrer les bibliothèques OSX à un utilisateur Windows par exemple).

    Il existe différentes alternatives :

    • Java Web Start : cela permet d'installer et de lancer l'application de manière plus simple pour un utilisateur, et de gérer les mises à jour (automatiquement : l'utilisateur lance son application, et si une nouvelle version est détectée, elle se met à jour toute seule). Cette solution impose de passer par un site web (Internet, donc de prévoir un hébergement, ou Intranet pour une société).
    • Launch4J (entre autres — il y'en a plein d'autres, certains spécifiques par OS ) permet de créer un installeur similaire à n'importe quel installeur d'application, d'embarquer le programme dans un exécutable natif, d'intégrer la JRE (son installation automatique dans la bonne version) dans l'installeur, de proposer les options classiques d'installation (icône de bureau, menu "Démarrer", etc.)
    • Si le programme est un programme Eclipse RCP, le produit peut être construit pour différents OS sous forme d'exécutable natif, accompagné toutefois de nombreux fichiers, qui obligera de livrer en réalité un zip. Pour un plug-in isolé, on pourra utiliser un site web (Update Site) avec installation et mise à jour gérées par Eclipse.
    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
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Un fichier .exe est, comme son nom l'indique, un fichier exécutable compilé en langage machine. Ce n'est donc pas la même chose qu'un .jar qui est simplement une archive contenant en ensemble de fichiers.

    Si ton seul .jar suffit à faire tourner ton application, alors je ne vois aucun problème à ne livrer que celui ci.

    Après si vraiment ça t’embête, tu peux aussi wrapper ton .jar dans un exécutable en utilisant lunch4j par exemple. Un des avantages c'est que lunch4j embarque une JVM et qu'il n'est donc pas nécessaire que ton poste client ait un JRE d'installé.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Merci beaucoup pour tout ces renseignements je vais voir pour launch4j


    -----------------------------------
    edit: parfait pour launch4j, exactement ce que je cherchais, merci beaucoup

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2016
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2016
    Messages : 46
    Points : 144
    Points
    144
    Par défaut Si je peux me permettre
    Bonjour à tous,

    Je sais que cette discussion est résolue mais cela peux quand même en aider certains.

    Si ton programme nécessite une interface graphique tu peux aussi le développer avec JavaFx qui lors du build de celui-ci embarque aussi une jvm comme launch4j .

    Voilà c'était la petite précision .

    a+

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 859
    Points
    22 859
    Billets dans le blog
    51
    Par défaut
    Ce n'est pas a proprement parler JavaFX qui est responsable de ce fait. Il s'agit en fait d'un outil du JDK, javapackager (qui effectivement se nommait auparavant javafxpackger mais Oracle a changé le nom pour bien indiquer qu'il ne se limitait pas a JavaFX), qui permet de créer des lanceurs natifs (propre a chaque plateforme sur lequel il tourne, ex: sur Windows l’outils produit un .exe, sur Mac il produit un .app, sur Linux il crée un fichier exécutable Linux) avec dans chaque cas une copie du JRE propre a l'application. L’outil peut aussi créer des installeurs avec des outils de l'OS ou tiers (Wix et Inno Setup sur Windows, les outils Mac pour créer des .apk et .dmg ainsi que les outils de création de .rpm et .deb sous Linux suivant la distro).

    Launch4J permet de faire quelques chose d’équivalent mais uniquement pour un lanceur natif Windows et ce depuis n'importe quelle plateforme (contrairement a javapackager qui ne fait que du 1-> 1, ici on a du * -> Windows)
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Créer un exe depuis un jar
    Par lostsoul dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 28/05/2014, 10h48
  2. Réponses: 2
    Dernier message: 08/10/2009, 16h53
  3. créer .exe à partir d'un .jar sans avoir besion de la JVM
    Par boumacmilan dans le forum Général Java
    Réponses: 1
    Dernier message: 02/09/2009, 17h47
  4. Créer un package de jar en plugin Maven2
    Par RajaMOHAMED dans le forum Maven
    Réponses: 3
    Dernier message: 26/08/2009, 11h25
  5. Créer sa propre archive jar
    Par axel119 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 26/09/2007, 09h54

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