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

Langage Java Discussion :

Création d'un exécutable avec contraintes.


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut Création d'un exécutable avec contraintes.
    Bonjour,
    je cherche à réaliser un exécutable de mon application, avec plusieurs contraintes :
    - intégration de bibliothèques externes (notamment les jakarta commons)
    - création de dossiers à la racine de l'exécutable (qui servent de dossiers temporaires)
    - identification de fichiers .properties, également à la racine
    - génération de fichiers de log.

    J'ai cherché sur le net, j'ai notamment trouvé NSIS et Launch4J, mais ils ne correspondent pas à mes attentes, ou je n'arrive pas à les utiliser.

    Quelles solutions me proposez-vous?

    Merci d'avance.

  2. #2
    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
    Bonjour,

    par exécutable, est-ce que tu entends ".exe" ?

    Sinon, tu peux très bien créer un script de lancement (shell, batch) dans lequel tu mets la ligne de commande qui va bien.

    A ma connaissance, un exe n'apporte rien, à part des problème de portabilité...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Si tu dispose d'un fichier .jar et tu veux le transformer en .exe, cela est possible spécialement si ton appli est destinée à windows,

    Tu peux utiliser l'un des outils suivants :

    launch4j http://launch4j.sourceforge.net/
    jsmooth http://jsmooth.sourceforge.net/

    ou même jar2exe qui est plus simple,

    Avec ses outils, tu peu crypter tes fichier class, tu peu associer une icône a ton exe, faire une image de splash screen, ou changer le nom de processus,
    Pour faire une appli plus professionnel en bref,

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Non non, par exécutable, j'entends en réalité lanceur. Mais l'idéal, ce serait une sorte d'installeur, un jar par exemple qui intègre les blibliothèques externes dont j'ai besoin, qui crée les dossiers d'installation et qui intègre le fichier .properties par défaut.

    J'ai déjà résolu un de mes problèmes (les dossiers d'installation à créer) en les créant au démarrage de mon appli en java.

    J'ai aussi vu qu'il suffisait d'indiquer dans le manifest l'emplacement des bibliothèques externes, pour qu'elles soient prises en compte.

    Le souci, c'est que j'aimerai bien pouvoir envoyer un jar qui contiendrait tout, et se chargerait d'effectuer l'installation :
    - mes répertoires d'installation soit dans le .jar, soit à coté du lanceur
    mon fichier properties à coté du lanceur
    - les bibliothèques externes installées au bon endroit (soit dans le dossier de l'application, soit dans une endroit plus approprié).

    Est-ce possible?

    Merci

  5. #5
    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
    A noter que pour le splashscreen, ça se fait très bien avec un simple JAR, pas la peine de le transformer en exe.

    Sinon, pour ce que tu veux faire, floctc, est-ce qu'une simple archive auto-extractable te suffirais?
    Si tu n'as pas de fichier à modifier et que c'est juste une histoire de disposition, tu te créé ta distribution chez toi et tu l'archive (zip ou autre).

    Si tu tiens vraiment à le faire, tu peux aussi écrire le programme qui te décompresse le fichier (via java.util.zip.ZipFile de mémoire)

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Merci pour vos conseils.
    Je pense que je vais me tourner vers la solution de l'archive zip, ca laissera en plus le choix de l'emplacement à l'utilisateur.

    Mon dernier souci, c'est comment indiquer où se trouvent mes bibliothèques externes dans le manifest?

    Est-ce qu'il suffit que je crée un dossier lib dans le même répertoire que mon lanceur, en l'indiquant?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Si tu veux intégrer des bibliothèques (jar) a votre lanceur .jar tu peux les rassembler dans un dossier lib par exemple, et après créer ton lanceur manuellement (cad avec un archiveur zip) et puis renommer le fichier archivé en .jar. Dans ce cas n'oublie pas les déclarations dans le manifest.

    Si tu veux créer un installer (programme installation automatique) tu peu utiliser l'un de ces logiciels :

    Inno Setup : simple et gratuit
    Install Shield Wizard : professionnel et payant

    Bonne chance,

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Merci, je vais voir du coté de ces logiciels.

    Petite question, quand je crée mon jar avec le manifest, il ne reconnait pas les librairies que j'ai déclaré (j'ai d'abord essayé dans un dossier lib, puis directement dans le même dossier que mon appli, mais ça ne fonctionne pas).

    Voila mon manifest :
    Manifest-Version: 1.0
    Class-Path: zehon_file_transfer_jdk14-1.1.6.jar,bcprov-jdk14-1.43.jar,
    commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.0.
    4.jar,commons-net-2.0-jdk14.jar,commons-vfs-2.0.jar,jsch-0.1.41.jar,o
    ro-2.0.8.jar
    Main-Class: com.test.Main
    Quel est le problème?

  9. #9
    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
    Essaie en séparant les différents jars de ton classpath par un espace au lieu d'une virgule.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Merci, c'est bien cela qui posait problème.

    J'ai suivi ce qui était indiqué dans la FAQ, mais il faut bien mettre des espaces et non des virgules pour séparer les bibiothèques externes.

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

Discussions similaires

  1. Réponses: 26
    Dernier message: 29/06/2010, 16h35
  2. Création d'une table avec contrainte
    Par sofiane_bfm007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/10/2008, 00h17
  3. Création d'un exécutable avec NetBeans
    Par CARUSO dans le forum NetBeans
    Réponses: 2
    Dernier message: 06/12/2007, 14h53
  4. Création d'exécutable avec g77
    Par Agathe dans le forum Fortran
    Réponses: 4
    Dernier message: 20/07/2007, 09h17

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