J’écrivais un programme simple utilisant une application Java (pas une application qui contenait des projets, mais une application dans un projet; .java) qui ne comporte qu’une seule image. Les deux fichiers sont des fichiers .java. Je ne peux donc pas écrire un manifeste requirejs par le fichier JAR. MyApp.java démarre comme une classe avec un package, importe ensuite la classe publique MyApp {et a une fonction principale, mais c’est toujours .java! Je l’écris dans JDeveloper 11g si ça aide …
Des idées sur la façon de créer un fichier JAR à partir de ces fichiers?
Ouvrez une invite de commande.
Allez dans le répertoire où vous avez vos fichiers .java
Créer un build de répertoire
Exécuter une compilation java à partir de la ligne de commande
javac -d ./build *.java
s’il n’y a pas d’erreurs, dans le répertoire de construction vous devriez avoir votre arbre de classe
déplacer dans le répertoire de construction et faire un
jar cvf YourJar.jar *
Pour append des commutateurs de ligne de commande manifest check
Simplement avec la ligne de commande:
javac MyApp.java jar -cf myJar.jar MyApp.class
Les IDE sûrs évitent d’utiliser le terminal de ligne de commande
Ok c’est la solution que j’aurais aimé trouver, au lieu de cela je l’écris:
Commencez par créer la structure de répertoires correspondant au paquet défini pour le fichier .java, si c’est mon.super.application, créez le répertoire “my” et à l’intérieur “super” et à l’intérieur le fichier .java “App.java”
puis depuis la ligne de commande:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Notez que ce qui précède inclura plusieurs bibliothèques, si vous utilisez Windows “,” pour séparer plusieurs fichiers sous GNU / Linux “:” Pour créer un fichier jar
jar -cvfe App.jar App my/app/
Ce qui précède créera l’application avec son manifeste correspondant indiquant l’application en tant que classe principale.
L’inclusion des bibliothèques requirejses dans le fichier jar n’est pas possible en utilisant les parameters de ligne de commande java ou jar.
Vous pouvez à la place:
les noms file.reference se trouvent dans le fichier project.properties après avoir ajouté les bibliothèques à l’EDI Netbeans.
Cela peut être fait sans terminal, directement depuis IDE. Netbeans, par exemple.
Vous voudrez souvent spécifier un manifeste, comme ceci:
jar -cvfm myJar.jar myManifest.txt myApp.class
Qui lit: “create nom_fichier_fichier manifestFilename”, suivi des fichiers à inclure. Verbose signifie imprimer des messages sur ce qu’il fait.
Notez que le nom du fichier manifeste que vous fournissez peut être n’importe quoi, car jar
le renommera automatiquement et le placera dans le bon répertoire du fichier jar.
Voici une autre façon de faire:
$ ls | grep .java | xargs -I {} javac {} ; jar -cf myJar.jar *.class
Qui va récupérer tous les fichiers .java ( ls | grep .java
) de votre répertoire courant et les comstackr dans .class ( xargs -I {} javac {}
) puis créer le fichier jar à partir des classes précédemment compilées ( jar -cf myJar.jar *.class
).