Ok voici la solution que j'aurais aimé trouver, au lieu de cela je l'écris ici:
Créez d'abord la structure de répertoires correspondant au package défini pour le fichier .java, si c'est my.super.application
créez le répertoire my
et à l'intérieur super
et à l'intérieur le fichier .java App.java
ensuite en ligne de commande :
javac -cp /chemin/vers/lib1.jar:/chemin/vers/lib2.jar chemin/vers/my/super/App.java
Remarquez que le code ci-dessus inclura plusieurs bibliothèques, si vous êtes sous Windows utilisez "," pour séparer plusieurs fichiers sinon sous GNU/Linux utilisez ":" Pour créer un fichier jar
jar -cvfe App.jar App my/app/
le code ci-dessus créera l'application avec son Manifest correspondant indiquant App comme la classe principale.
Il n'est pas possible d'inclure les bibliothèques requises à l'intérieur du fichier jar en utilisant les paramètres de ligne de commande java ou jar.
Vous pouvez plutôt:
- extraire manuellement les bibliothèques dans le dossier racine du fichier jar
- utiliser un IDE tel que Netbeans et insérer une règle à l'intérieur de la section post-jar de
nbproject/build-impl.xml
pour extraire les bibliothèques à l'intérieur du jar. Voir ci-dessous.
les noms file.reference
se trouvent dans le fichier project.properties
après avoir ajouté les bibliothèques à l'IDE Netbeans.
2 votes
Je pense que cela peut être accompli beaucoup plus facilement en utilisant un outil d'emballage tel que ANT ou Maven
0 votes
D'accord avec Chuck. Jetez un coup d'œil à ANT. Les IDE sont très utiles pour le développement, mais il est nécessaire de comprendre comment les choses fonctionnent. Les fichiers java sont compilés via javac en fichiers .class, ensuite, les fichiers .class peuvent être regroupés dans un fichier jar avec la commande jar. (Ant propose des tâches pour cela, même jdeveloper dispose de quelques assistants pour le faire).
0 votes
JDeveloper lui-même devrait avoir la capacité de créer des fichiers jar. Une recherche rapide sur Google donne un tutoriel ici : tompeez.wordpress.com/2011/06/01/…
1 votes
Pouvez-vous clarifier votre question?
0 votes
Aller dans le répertoire source et exécuter la commande : javac *.java && jar cvf JarName.jar *.class