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 :

Intégrer un JDK à son projet Java


Sujet :

Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Intégrer un JDK à son projet Java
    Salut à tous,

    J'ai développé une application en Java sous Eclipse, j'ai créé l'exécutable et il ne marche que sur les PC ou le JDK est installé, ce qui est normale. Je souhaite utiliser un JDK qui fera entièrement partie de mon application pour que l'application n'utilise plus celui qui sera installé sur le PC de sorte à rendre mon application autonome. Si quelqu'un peut m'aider?

    Merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Points : 2 061
    Points
    2 061
    Par défaut
    Bonjour,

    Je pense qu'il faut parler de JVM pour ce qui est de l'exécution du programme.

    Je pense que les JVM sont dépendantes des OS sur lesquels elles s'exécutent, donc non je ne pense pas qu'on puisse intégréer des JVM aux programme que tu distribue (ou plutôt, ça n'a pas de sens, c'est comme distribué un OS avec ton application).

    Par contre tu peux créer un installateur qui check si une JVM est installé, et le cas échéant donne un lien de téléchargement.

    Bon courage
    Yoshi

    PS : tous les propos tenus dans le message ci-dessus sont à préfixer avec "A mon humble avis", "Je pense que". Il serait inutilement fastidieux de le rappeler à chaque phrase.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Salut,

    Merci pour la réponse, mais cela m'amène à poser une autre question, peut-on installer plusieurs JVM sur une même machine et choisir d'utiliser celle qu'on veut?

    Cordialement.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu peux faire une archive par OS.
    Dans chaque archive, tu fournis une JVM pour l'OS concerné.
    L'avantage est qu'il n'y rien (JVM) à télécharger ou installer pour l'utilisateur final.

  5. #5
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    oui

  6. #6
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos réponses,

    Je souhaiterais savoir enfin comment intégrer une JVM à son application et comment spécifier à son application que c'est cette JVM qu'on veut qu'elle. Je souhaite le savoir dans les détails ou avoir un tutoriel qui me l'expliquera.

    Cordialement.

  7. #7
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    En fait pour exécuter une application java, tu n'as pas besoin d'installer tout le JDK(Java Developper Kit) qui est très lourd. Seul le programmeur en a besoin. Pour l'utilisateur final, tu peux te contenter de livrer le JRE (Java Runtime Environnement) qui contient la JVM, les Bibliothèques Java standard et les plugins des navigateurs, mais pas les outils de développement.
    Depuis JavaSE 6 Update 10, il existe un JRE très allégé, qui téléchargera les bouts de JRE manquants à mesure de ses besoins. Cela créera quelques petit temps de chargement au premier démarrage et oblige à utiliser une machine avec accès au net, mais diminue drastiquement la taille du JRE ce qui peut être très pratique si tu veux que ton appli avec JRE inclus soit téléchargeable .
    Il faut installer un jre différent en fonction de l'OS de l'utilisateur.

    Tu peux installer un JRE via l'executable d'installation fourni sur le site de SUN. Dans se cas, il sera installé en tant que JRE par défaut et sera utilisé par le navigateur web pour les applets et quand tu double cliqueras sur un jar.
    Tu peux également te contenter de recopier le répertoire du JRE. Dans se cas il n'est pas utilisé directement. Tes application devront être démarrées en y faisant explicitement appel.
    Par exemple avec un script .bat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\CheminDeMonJRE\bin\java -jar monApplication.jar
    Ensuite, les méthodes de déploiement étant assez variées, ça serait bien d'avoir plus de détail sur les contraintes de déployement de ton application comme:
    - Avoir de téléchargements supplémentaires pose il problème?
    - Est il important de faire un package d'installation réduit au minimum ?
    - Quelles plateformes comptes tu supporter?
    - Comment compte tu démarrer (lanceur script, lanceur executable, double clic sur le jar, ...)

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    il existe des outils comme exe4j capable de te créer un exécutable natif incluant la jvm. Mais l'idéal reste de tout simplement packager un zip/tar.gz/tar.bz2/autre incluant la jvm décompressée et un script de démarage du style, en linux par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #!/bin/sh
    location=`dirname $0`
    $location/jre/bin/java -jar $location/monApplication.jar

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci à tous

    J'ai essayer la méthode de Uther qui consiste à recopier le répertoire du JRE et de le démarrer en y faisant explicitement appel par exemple avec un script .bat.
    Cette méthode marche bien et me convient sauf que la fenêtre d'exécution du script (cmd.exe) reste ouverte après que mon application soit lancée, lorsque que je ferme cette fenêtre, mon application se ferme également, ce qui est normale. Je souhaite savoir s'il existe une possibilité de pouvoir cacher cette fenêtre.

    Je voulais aussi souligner que la solution de Tchize ne serait pas mal si je pouvais avoir un script de démarrage de la JVM pour Windows.

    Cordialement.

  10. #10
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Si tu utilises la commande START devant la commande java, la fenêtre de commande se ferme toute seule.

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Voici la ligne de commande que j'utilisais précédemment dans mon fichier .bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Ensemble\jre1.6.0\bin\JAVA -jar setup.jar
    Mais la fenêtre de commande ne se ferme pas.

    Par contre, quand j'ajoute START comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Ensemble\jre1.6.0\bin\START JAVA -jar setup.jar
    J'obtiens l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Ensemble\jre1.6.0\bin\START n'est pas reconnu en tant que ou externe, un programme exécutable ou un fichier de commandes.
    Ou mettre START dans ce cas?

  12. #12
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    disons que ce serait plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    START C:\Ensemble\jre1.6.0\bin\JAVA -jar setup.jar

  13. #13
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Sous windows, il y a 2 type d'application différentes, les applications console et non console.
    Si tu veux une application sans console utilise javaw.exe plutôt que java.exe pour démarrer ton application.

    tu n'as normalement pas besoin d'utiliser start qui est juste une commande windows pour démarrer une application. Ca ne devrait pas résoudre le problème de console.

  14. #14
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci à tous et à toutes

    En fait la bonne ligne de commande à mettre dans le fichier .bat était:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    START C:\Ensemble\jre1.6.0\bin\JAVAW -jar setup.jar
    Mon problème à été résolu bien que je l'ai mal posé au début. Je voulais que mon application java puisse utiliser une JVM qui fera partie integrant de cette application.

    Encore une fois merci et bonne continuation à tous...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/11/2013, 18h35
  2. comment intégrer des imports a son projet ?
    Par blueLight dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 04/08/2009, 03h09
  3. générer son rapport .rptdesign dans un projet Java
    Par dollark1K dans le forum BIRT
    Réponses: 8
    Dernier message: 02/06/2009, 11h40
  4. intégrer google maps dans son projet
    Par miya dans le forum Flex
    Réponses: 11
    Dernier message: 17/04/2009, 19h04
  5. [Visual SourceSafe] Arguments pour/contre son utilisation sur un projet Java
    Par elitost dans le forum SCM
    Réponses: 6
    Dernier message: 03/12/2008, 21h58

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