Comment créer une application Java qui peut être exécuté par un clic?
Je voudrais avoir une application Java qui peuvent être facilement.
Jusqu'à présent j'ai réussi à créer un fichier jar, mais je ne vois pas d'avantages encore. Avant que je lance mon application par "java HelloWorldSwing" et maintenant, j'utilise "java-jar HelloWorldSwing.jar" (ce 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 *.mf fichier dans le même répertoire).
Je voudrais avoir l'une des deux situations suivantes:
- Un seul et unique fichier qui pourra être copié sur un autre système d'exploitation, et que le projet peut être juste d'être lancé par un clic sur ce fichier dans un navigateur de fichiers (pour le moment si clique sur mon fichier jar Ubuntu commence à extraire l'archive (parce que le pot est une archive, je sais)).
- Créer un pictogramme qui peuvent être mis sur un ordinateur de bureau et en cliquant sur lequel lance mon programme Java.
"autant que j'ai compris, l'utilisation d'un fichier jar nécessite la présence de *.mf fichier dans le même répertoire" Non, votre fichier manifeste doivent être mis dans le pot lui-même avec le
jar
's -m manifestfile
option de ligne de commandeOriginalL'auteur Roman | 2010-02-18
Vous devez vous connecter pour publier un commentaire.
Faire un pot avec pas de dépendances exécutable est relativement facile. En gros, vous avez juste besoin de spécifier dans le
MANIFEST
la classe principale à utiliser. Il peut alors être démarré avecjava -jar ExecutableJar.jar
, mais plus le support de l'OS double-cliquez dans ce cas.Faire un pot qui dépend d'autres jar exécutable est plus délicate. Vous pouvez spécifier le chemin de classe dans le
MANIFEST
, mais cela signifie toujours que vous devez copier plus d'un pot de distribuer votre application. Une autre façon est de "pack" de la fonction de pot dans le pot principal.Vous pouvez faire tout cela avec maven et la maven-assembly-plugin. Utiliser le
jar-with-dependencies
préconfiguré descripteur de.La classe principale peut être spécifié avec quelque chose comme:
MODIFIER:
pom.xml
peut être trouvé dans cette question.OriginalL'auteur ewernli
Fait j'aime vraiment la façon dont maven crée:
http://maven.apache.org/shared/maven-archiver/examples/classpath.html#Make
OriginalL'auteur Chris J
Ici quelques liens qui peuvent aider à u..
JSmooth est un Exécutable Java Wrapper. Il crée natif de Windows lanceurs
De la croix-plate-forme Java exécutable wrapper
OriginalL'auteur Jeeva Subburaj
Pour OS X vérifier Pot Bundler:
http://developer.apple.com/mac/library/documentation/Java/Conceptual/Jar_Bundler/Introduction/Introduction.html
OriginalL'auteur Petteri Hietavirta
Launch4J vous permet de faire un JAR exécutable sur de nombreuses plateformes.
OriginalL'auteur Valentin Rocher
Il est appelé WebStart,
Cependant, il ne permet pas de s'adapter parfaitement à votre description. Il ne fournit pas une auto-emballés solution qui devrait existe.
PS. Je crois personnellement que l'exécutable jar est une blague, vous ne pouvez pas contrôler le vmargs, ne peut pas avoir une bonne icône, et vous ne pouvez même pas savoir qu'il est exécutable jusqu'à ce qu'il est en train de déballer et essayez de les exécuter.
OriginalL'auteur Dennis C
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
Alors les utilisateurs peuvent cliquer dans le navigateur de fichiers et qui ont de la classe de départ, à condition que le système d'exploitation et de sécurité de l'utilisateur paramètres le permettent.
Malheureusement, vous ne pouvez pas vraiment faire quelque chose à propos de fichier navigateurs qui refusent de s'auto-exécuter des trucs (qui, après tout, est souvent une très bonne idée). Même si vous avez compilé l'ensemble de la JRE et de votre programme dans un énorme .EXE, de nos jours, le gestionnaire de fichiers peut très bien refuser de l'exécuter parce que c'est une "insécurité fichier téléchargé", sauf si vous parvenez à obtenir votre application certifiée par le fournisseur du système d'exploitation. C'est une course aux armements qui, en définitive, personne ne peut gagner.
OriginalL'auteur Kilian Foth
Vous devez créer un jar exécutable, avec la mention de votre classe principale(c'est à dire un public de classe avec une méthode main ()) dans le bocal du fichier manifeste que le Principal de la Classe. Ainsi, lorsque davantage d'autonomie de double cliquer dessus ou type: pot de votre bocal nom" dans la console de commande, puis ils le seront exécutés.
OriginalL'auteur GuruKulki