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

EDI et Outils pour Java Discussion :

Un tuto pour transformer .jar en .exe


Sujet :

EDI et Outils pour Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut Un tuto pour transformer .jar en .exe
    Bonjour ,
    J'ai exporter mon projet dans un jar éxecutable que je lance avec un bat.

    Je voudrais créer un exécutable pour installer le programme sur les machines.
    Le programme doit pouvoir proposer un chemin d'installation et il doit modifier le .bat copier ( modification du chemin d'execution du bat avec celui du répertoire d'installation ).

    J'ai essayer JSmooth et JEXECreator sans succès.

    La contrainte et qu'il me faut un produit GPL.

    Je cherche un tutoriel pour JSmooth ou une autre solution (le ZIP ? )

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut
    J'aurai une idée avec mon bat:
    Pour l'instant il ressemble a ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cd\
    cd D:\Cartography\PingElement
    java -jar PG.jar
    pause
    Le problèmeest qu'il que le chemin "D:\Cartography\PingElement" doit être celui où se situe le bat. Car quand je copie mon répertoire sur un poste , le chemin est différent.

    Existe t il une fonction dans le fichier bat pour le duire de ce placer en "cd _répertoire_ou_le_bat_se_situe" ??

  3. #3
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je comprends pas pourquoi tu veut un batch... Il ne faut pas employer un batch pour lancer un .jar puisque le jar est éxécutable...

    Si tu vraiment avoir un "vrai" .exe en java, il faut te tourner vers les compilateurs natifs : gcj ou JET.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut
    java -jar PG.jar
    pause

    Ca suffit

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut
    Ok pour le exe.

    Sur mon poste les .jar je peux pas les lancer , je dois faire un bat...

    Erf marche ton ptit exe , (java non installer , alors que si )

  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
    Salut,

    Une solution alternative : il y a quelques temps j'avais développé une application en C/Win32 qui sert de Launcher pour des application Java sous Windows :
    http://adiguba.free.fr/download/JarLaunch.zip

    Il s'agit d'un simple fichier .exe à renommer de la même manière que le Jar (exemple dans ton cas : PG.exe) et à placer dans le même répertoire.

    Lorsque tu lances le programme, il tentera de lancer la commande suivante :
    Tu peux éventuellement utiliser les sources si tu as besoins de le personnaliser ou de modifier l'icône :
    http://adiguba.free.fr/download/JarLauncher-src.zip

    Ce n'est rien d'extrordinaire mais c'est un petit peu mieux que les .bat...

    a++

    PS : Bien entendu il faut avoir une JVM d'installer !!!

  7. #7
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Dans ton cas, je me demande si JSmooth répondra à tes attentes.
    Effectivement, JSmooth permet de créer un executable à partir d'un JAR (ou plusieurs) mais tu seras obligé de deployer l'executable sur tout les postes qui veulent l'EXE avec JSmooth.

    Le probleme de JSmooth vient du fait que lorsque l'on veut compiler l'executable, il demande de sauvegarder le projet JSmooth sur le poste, et ce n'est pas pour rien car en fait l'EXE utilise la sauvegarde du projet pour savoir où trouver le JAR sur le poste.


    Sinon pour un tuto, je peux te donner la demarche de base pour créer un EXE avec JSmooth.


    Ouvrir "jsmoothgen.exe" et agrandir la fenêtre.
    Dans JSmooth, 4 des 5 onglets de gauche doivent être paramétrés :


    Le Premier étant Skeleton, Dans Skeleton choose, choisir Console Wrapper si tu veux voir ton programme s'executer en mode console, ou windowed dans une fenetre.

    Dans Exécutable, la partie "exécutable Binary" est très importante, il faut définir où l’on souhaite que soit l’exécutable sur le poste. A savoir qu’une fois généré, l’exécutable ne fonctionnera que s’il reste à la place qu’on lui a définit dans cette étape. Si du moins on souhaite le deplacer, il faut le regenerer avec JSmooth au nouvel endroit que l’on souhaite ou faire un raccourci de l'EXE que tu peux placer où bon te semble.



    La partie Application se déroule en 2 parties, ajouter le JAR principal et tout les autres JAR que tu utilises dans ton programme, puis choisir la classe principale de ton programme dans la partie "main class".

    Pour finir, dans la partie JVM Selection, il faut préciser le champ ‘’Minimum JVM Version’’ en mettant : 1.4.2 par exemple si tu utilises la JRE 1.4.2



    Et il ne reste plus qu'à compiler.



    Voila, j'espere que ca te servira.

    Zorm

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut
    Mici de ces réponses !

  9. #9
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Salut,
    je remonte ce vieux topic car je n'ai pas compris grand chose à JSmooth
    Pour info, j'utilise NetBeans 5 et dans le repertoire Dist j'ai mon jar principal et un autre répertoire lib contenant deux jar .
    Citation Envoyé par zorm
    Dans ton cas, je me demande si JSmooth répondra à tes attentes.
    Effectivement, JSmooth permet de créer un executable à partir d'un JAR (ou plusieurs) mais tu seras obligé de deployer l'executable sur tout les postes qui veulent l'EXE avec JSmooth.
    quelqu'un pourrait-il reformuler cette phrase ?
    Est-ce que l'executable contient tous les jar (principal et lib) ?
    Le probleme de JSmooth vient du fait que lorsque l'on veut compiler l'executable, il demande de sauvegarder le projet JSmooth sur le poste, et ce n'est pas pour rien car en fait l'EXE utilise la sauvegarde du projet pour savoir où trouver le JAR sur le poste.
    Pour déployer l'application, faut-il juste copier le .exe et le projet JSmooth sur le poste client ?
    Sinon pour un tuto, je peux te donner la demarche de base pour créer un EXE avec JSmooth.


    Ouvrir "jsmoothgen.exe" et agrandir la fenêtre.
    Dans JSmooth, 4 des 5 onglets de gauche doivent être paramétrés :


    Le Premier étant Skeleton, Dans Skeleton choose, choisir Console Wrapper si tu veux voir ton programme s'executer en mode console, ou windowed dans une fenetre.

    Dans Exécutable, la partie "exécutable Binary" est très importante, il faut définir où l’on souhaite que soit l’exécutable sur le poste. A savoir qu’une fois généré, l’exécutable ne fonctionnera que s’il reste à la place qu’on lui a définit dans cette étape. Si du moins on souhaite le deplacer, il faut le regenerer avec JSmooth au nouvel endroit que l’on souhaite ou faire un raccourci de l'EXE que tu peux placer où bon te semble.
    ça ne serait pas plutôt "Current Directory" au lieu de "exécutable Binary" qui est important ?

    Merci d'avance pour votre aide


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  10. #10
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Bonjour !

    Il existe une autre solution que JSmotth (que j'utilisais auparavant), mais maintenant j'utilise Launch4J.

    http://launch4j.sourceforge.net/

    Si ça peut aider... Bon courage !
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  11. #11
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par dbprog
    Bonjour !

    Il existe une autre solution que JSmotth (que j'utilisais auparavant), mais maintenant j'utilise Launch4J.

    http://launch4j.sourceforge.net/

    Si ça peut aider... Bon courage !
    Salut,

    J'ai déjà essayé launch4j mais sans succés
    Pourrais-tu m'expliquer s'il te plait la démarche à suivre en gros ?
    Il y a beaucoup de champs que je ne comprends pas

    Merci d'avance


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 159
    Par défaut
    Salut
    C'est pas compliqué vu que la plus part des champs sont optionels.
    J'ai utilisé ce logiciel pour creer un .exe d'un projet de NetBeans.

    Champs obligatoire pour un projet simple:

    Onglet Basic:

    Output file: Tu parcours tes dossiers et tu entres le nom que tu veux lui donner. ATTENTION, faut pas oublier d'écrire l'extention .exe
    Jar: Tu parcours tes dossiers et tu choisis ton .jar (comme tu dis, dans le dossier dist pour NetBeans)

    Onglet JRE:

    min JRE version: la version minimum de JRE, genre 1.5.0

    Voila, tu cliques sur le bouton Build wrapper (forme de roue denté) et voilà
    on va juste te demander un emplacement pour sauvegarder un fichier xml que tu pourras ouvrir ensuite à partir du logiciel pour modifier l'executable.
    Par contre attention, si tu fais ton executable de cette façon faut inclure le dossier lib dans celui de l'executable, par contre le jar principal n'est plus nécésaire.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 37
    Par défaut COMMENT transformer 4 fichiers .jar en exe ?
    J'ai développé et généré un editeur graphique via le plugin GMF
    le resultat est 4 fichiers .jar
    comment je peux les transformer en un seul fichier exécutable ?

    Merci

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

Discussions similaires

  1. Logiciel/script ou tuto pour transformer image iso en orthographique
    Par Elriks dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 03/03/2013, 09h52
  2. Transformer .jar en .exe
    Par mouhab dans le forum Général Java
    Réponses: 16
    Dernier message: 01/09/2010, 11h26
  3. Problème pour ouvrir des fichiers .exe et .jar via une page html
    Par coyaote dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/02/2007, 12h28
  4. Un tuto pour direct show
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 11
    Dernier message: 04/04/2003, 21h28
  5. creation d un fichier jar ou .exe en java
    Par sadjia dans le forum JBuilder
    Réponses: 13
    Dernier message: 13/12/2002, 16h01

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