Une introduction aux phases de
Compilation,
Exécution,
Archivage,
en ligne de commande.
Une application Java nommée App
se déclare
dans un fichier App.java
.
Elle déclare une fonction main
de signature
(Sinon, c’est un module, pas une application.)
main
: point d’entrée de l’application,
args
: arguments passés à l’application.
App.java
nécessite la commande javac
,
fournie par Java Development Kit (JDK).
$ javac App.java
App.class
généré par la compilation.nécessite la commande java
,
fournie par Java Runtime Environment (JRE).
Dans le répertoire contenant le fichier App.class
:
$ java App
Hello, World!
module Printer
,
application App
.
Printer.java
App.java
$ javac Printer.java App.java
$ java App
Hello world!
Distribuer le programme comme un fichier unique.
Manifest.txt
Spécifier le point d’entrée de l’application :
Main-Class: App
nécessite la commande jar
(Java Archive Tool),
fournie par Java Development Kit (JDK).
Compilez vos fichiers .java
, puis :
$ jar cfm app.jar Manifest.txt *.class
Voir aussi : Packaging Programs in JAR Files
Dans le répertoire contenant le fichier app.jar
:
$ java -jar app.jar
Hello, World!
Ensemble de fonctionnalités,
Disponibles sous forme de package(s),
Pas de point d’entrée (pas une application).
printer/Printer.java
$ javac printer/Printer.java
$ jar cf printer.jar printer
Pour utiliser la bibliothèque contenue dans l’archive printer.par
, il faut indiquer à java
de prendre en compte ce fichier au moyen du classpath
à la compilation de l’application,
lors de son exécution.
Ajoutez au classpath
"."
pour les fichiers .class
du répertoire courant,
"*"
pour les fichiers .jar
du répertoire courant.
Voir ausi Setting the class path.
Comme :
une variable d’environnement
$ export CLASSPATH=".:*"
une option en ligne de commande de java/javac
:
$ javac -cp ".:*" *.java
App.java
$ javac -cp ".:*" App.java
$ ls
App.class App.java printer.jar
$ java -cp ".:*" App
Hello, World!