9
votes

Comment créer une application Java qui peut être exécutée par un clic?

J'aimerais avoir une application Java qui peut être facilement démarrée.

Jusqu'à présent, j'ai réussi à créer un fichier JAR mais je ne vois pas encore aucun avantage. Avant d'exécuter ma candidature par "Java Helloworldswing" et maintenant j'utilise "Java -Jar HelloworldorLswing.jar" (qui est encore plus compliqué que la commande précédente et, autant que j'ai compris, l'utilisation d'un fichier JAR nécessite la présence de * fichier .mf dans le même répertoire).

J'aimerais avoir l'une des deux situations suivantes:

  1. Un seul fichier unique qui peut être copié dans un autre système d'exploitation et que le projet peut être démarré simplement en cliquant sur ce fichier dans un navigateur de fichiers (pour le moment si cliquez sur mon fichier JAR Ubuntu commence à extraire des archives (Parce que Jar est une archive, je sais)).

  2. Créez un pictogramme qui peut être mis sur un bureau et en cliquant sur lequel initie mon programme Java.


1 commentaires

"Autant que j'ai compris, l'utilisation d'un fichier JAR nécessite une présence de fichier * .mf dans le même répertoire" Non, votre fichier manifeste doit être placé dans le pot lui-même avec le JAR ' Code> -M Manifestefile Option de ligne de commande


8 Réponses :


2
votes

Voici quelques liaisons qui peuvent vous aider ..

JSMOOK est une enveloppe exécutable Java. Il crée des lanceurs de fichiers Windows natifs P>

http://launch4j.sourceforge.net/


http://www.captain.at/programming/java/executable-java-application.php


0 commentaires


0
votes

Vous pouvez créer un fichier JAR exécutable, comme décrit ici:

http: //csdl.ics. hawaii.edu/~johnson/613f99/modules/04/jar-files.html

Les utilisateurs peuvent ensuite cliquer dessus dans le navigateur de fichiers et commencer le démarrage de la classe principale, à condition que le système d'exploitation et les paramètres de sécurité de l'utilisateur le permettent.


2 commentaires

Je viens de suivre l'instruction étape par étape. En fin de compte, j'ai reçu un fichier JAR que je pourrais être exécuté avec succès. Cependant, lorsque j'ouvre le dossier avec le fichier JAR dans mon navigateur de fichiers, je vois le fichier JAR comme archive. Double-cliquez sur l'archive initier l'extraction de l'archive.


Malheureusement, vous ne pouvez rien faire de rien sur les navigateurs de fichiers qui refusent des trucs de gestion automatique (qui, après tout, est souvent une très bonne idée). Même si vous avez compilé tout le JRE et votre programme dans une énorme .exe, le gestionnaire de fichiers peut-il très bien refuser de l'exécuter car il s'agit d'un "fichier téléchargé non sécurisé", sauf si vous parvenez à obtenir votre application certifiée par le fournisseur OS. C'est une course d'armes qui finalement personne ne peut gagner.



9
votes

Faire un bocal sans dépendances exécutable est relativement facile. Vous avez essentiellement besoin de spécifier dans le manifeste la classe principale à utiliser. Il peut alors être démarré avec java -jar exécutablejar.jar , mais la plupart des systèmes d'exploitation double-cliquez dans ce cas.

Faire un bocal qui dépend d'un autre bocal exécutable est plus délicat. Vous pouvez spécifier le chemin de classe dans le manifeste , mais cela signifie toujours que vous devez copier plusieurs bocaux pour distribuer votre application. Une autre solution consiste à "emballer" le bocal en fonction du pot principal.

Vous pouvez faire tout cela avec Maven et le Maven-Assembly-plugin . Utilisez le jar avec dépendances préconfiguré Descripteur . xxx

La classe principale peut être spécifié avec quelque chose comme: xxx

edit : a complète pom.xml peut être trouvé dans cette question .


0 commentaires

0
votes

Vous devez créer un pot exécutable, en mentionnant votre classe principale (c'est-à-dire une classe publique avec la méthode principale () de l'information) dans le fichier manifeste du pot en tant que classe principale. Ainsi, lorsque vous pouvez double cliquer sur une propyle ou tapez: JAR "Votre nom JAR" dans la console de commande, puis ils l'obtiendront exécutées.


0 commentaires

2
votes

Launch4j vous permet de créer un pot lancé sur de nombreuses plates-formes.


0 commentaires

2
votes

Il s'appelle WebStart ,

Cependant, il ne correspond pas parfaitement à votre description. Il ne fournit pas de solution auto-emballée qui devrait exister.

ps. Je crois personnellement que le pot exécutable est une blague, vous ne pouvez pas contrôler les vmargs, vous ne pouvez pas avoir une bonne icône, et vous ne pouvez même pas savoir qu'il est exécutable jusqu'à ce qu'il ne soit pas décompressant et essayez d'être exécuté.


0 commentaires

3
votes

0 commentaires