Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jar exécutable : lancement automatique de partout ?

    18 décembre 2009 à 19:11:00

    Bonjour à tous :)

    Je me pose une question : est-ce que, si je génère un jar exécutable, j'ai la garantie que celui-ci pourra être exécuté automatiquement en double-cliquant dessus sur n'importe quelle machine (du moment que Java a bien été installé, ça va de soi) ? Vaut-il mieux créer un exécutable qui va le lancer en exécutant la commande java -jar MonJar.jar ? Ou alors il y a un moyen de compiler en code machine et non en byte code pour créer un exécutable qui se lancera à coup sûr ?

    Merci pour toute réponse :)
    • Partager sur Facebook
    • Partager sur Twitter
      18 décembre 2009 à 19:19:47

      Si une JRE suffisamment récente est bien installée, si le .jar est correctement créé, si le code est pas trop mal fait, si tous les fichiers sont bien présents, alors oui y'a pas de soucis. En général quand il y'a problème, ce sont les deux premiers points qui sont en cause.

      Pour lancer le .jar, je n'en ai aucune idée, je n'ai jamais essayé sur un système "vierge". Tout dépend ce que j'entends par "JRE bien installée" en fait. Il me semble que pour le double clic sur le .jar s'exécute correctement, il y'a une histoire de Path sous Windows à régler... Mais il me semble également que si on suit les instructions lors du téléchargement de JRE sur le site de Sun, tout se fait comme il faut.

      Il existe un moyen de compiler en code machine mais ce sont des méthodes très contraignantes qui ne sont pas toujours fiables (au hasard, j'ai entendu que la compatibilité avec Swing était pas top...).
      • Partager sur Facebook
      • Partager sur Twitter
        18 décembre 2009 à 19:25:54

        Le jar n'a pas de raison d'être mal fait, je fais confiance à eclipse et de toutes façons je le teste ^^

        Et ce jar s'exécutera parfaitement sous Linux / Mac OS et tout autre système ayant installé la JRE ? Si c'est le cas, c'est magique ce truc, et ça résoudrait bien des problèmes posés par les exe... Cependant je vois rarement des programmes dont l'exécutable est un jar. Par exemple, si je prends le logiciel LimeWire, il faut lancer un exécutable qui s'occupe de lancer le jar (il fait peut-être d'autres manips avant de le lancer je sais pas). Tu sais pourquoi ?
        • Partager sur Facebook
        • Partager sur Twitter
          19 décembre 2009 à 21:34:21

          Personne pour me répondre s'il-vous-plait ? J'aimerais bien savoir...
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2009 à 9:29:07

            Salut.
            Tu peux essayer de créer un binaire exécutable avec jgc sous nux ou alors Excelsion JET sous windows.
            Bonne chance.
            • Partager sur Facebook
            • Partager sur Twitter
              20 décembre 2009 à 11:09:24

              Tu ne pourras jamais t'assurer que ton .jar s'exécutera en double-cliquant. Il se peut que j'ai choisi que l'action par défaut pour un .jar était de l'ouvrir dans un gestionnaire d'archive.

              Il s'agit de paramètres propres à chaque utilisateurs et dont tu n'as pas de contrôle.
              Tu pourrais par contre modifier les registres lors de l'installation de ton programme (avec un installateur) pour modifier ces paramètres, mais je trouve cette méthode un peu trop intrusives, et la méthode pour le faire est propre à chaque OS.

              Après, une autre piste que tu as indiquée est de faire directement un binaire exécutable, c'est une solution mais je ne vois pas bien l'intérêt d'utiliser le Java pour faire ça...
              • Partager sur Facebook
              • Partager sur Twitter

              Jar exécutable : lancement automatique de partout ?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown