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

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Points : 99
    Points
    99
    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 régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Points : 99
    Points
    99
    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 éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    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 régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Ca suffit

  5. #5
    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,

    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 !!!

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Points : 99
    Points
    99
    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 )

  7. #7
    Membre éclairé 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
    Points : 672
    Points
    672
    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 régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

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

  9. #9
    Membre chevronné
    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
    Points : 2 208
    Points
    2 208
    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 confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    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 chevronné
    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
    Points : 2 208
    Points
    2 208
    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 confirmé

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 159
    Points : 467
    Points
    467
    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 chevronné
    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
    Points : 2 208
    Points
    2 208
    Par défaut
    Salut,
    j'ai en effet pù réaliser un .exe de cette façon, mais j'ai encore quelques questions :

    1)dans l'onglet basic :
    à quoi sert le champs : Change dir ?

    2)dans l'onglet jre :
    à quoi sert le champ : Emb. JRE path ?

    Merci beaucoup pour ton aide


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

  14. #14
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 807
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 807
    Points : 7 613
    Points
    7 613
    Par défaut
    Citation Envoyé par afrikha
    1)dans l'onglet basic :
    à quoi sert le champs : Change dir ?
    A changer le répertoire courant (pas obligatoire...)


    Citation Envoyé par afrikha
    2)dans l'onglet jre :
    à quoi sert le champ : Emb. JRE path ?
    A spécifier où se trouve le JRE embarqué (avec ton exe, si jamais tu as embarqué un JRE avec ton exe... pas obligatoire)
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  15. #15
    Membre chevronné
    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
    Points : 2 208
    Points
    2 208
    Par défaut
    OK, merci


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

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    Bonjour,
    Je reviens moi aussi sur ce post étant donné qu'à mon tour je cherche à créer un executable d'une appli via Launch4j

    Citation Envoyé par yannart
    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.
    Le hic c'est que j'utilise pour faire tourner mon appli un library créee à partir de code natif : maLibrary.dll

    Lorsque je crée mon executable, s'il est dans le meme répertoire que celui de ma maLibrary.dll l'application tourne avec succes.
    Mais lorsque l'executable est dans un répértoire seul il ne se lance pas... logique il manque la library.

    Lorsque j'ai crée le Jar j'ai bien mentionné l'inclusion de la librarie :
    jar -cfv monAppli.jar *.class *.dll
    manifest ajoutÚ
    ajout : class1.class(entrÚe = 672) (sortie = 416)(38% compressÚs)
    ajout : class2.class(entrÚe = 1473) (sortie = 820)(44% compressÚs)
    ...
    ajout : maLibrary.dll(entrÚe = 349184) (sortie = 133529)(61% compressÚs)
    Est ce qu'il y aurait un moyen d'inclure directement la librarie dans l'executable et non de la conserver à coté de l'executable dans le même répértoire? car je ne l'ai nullement mentionné lors de la création de cet exe via Launch4j...

    Merci par avance pour vos suggestion

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Je sais qu'il est possible d'utiliser Embedded jar (ou équivalent pour le nom) pour inclure un jar dans l'exe qui est décompressé à chaque lancement de l'exécutable.

    Mais je ne crois pas (mais pas sûr) qu'il soit possible d'inclure des fichiers dans l'exécutable.
    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 !


  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 37
    Points : 26
    Points
    26
    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, 10h52
  2. Transformer .jar en .exe
    Par mouhab dans le forum Général Java
    Réponses: 16
    Dernier message: 01/09/2010, 12h26
  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, 13h28
  4. Un tuto pour direct show
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 11
    Dernier message: 04/04/2003, 22h28
  5. creation d un fichier jar ou .exe en java
    Par sadjia dans le forum JBuilder
    Réponses: 13
    Dernier message: 13/12/2002, 17h01

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