La plateforme Java comprend un certain nombre d'outils dont en particulier le compilateur (javac.exe), la machine virtuelle (java.exe) et le générateur de documentation (javadoc.exe).
Avant de commencer à écrire une seule ligne de code Java, il est nécessaire de connaître certains éléments fondamentaux.
Pour une quelconque opération sur un fichier source Java (NomFichier.java) ou un fichier classe (NomFichier.class), il est nécessaire d'indiquer au système d'exploitation et à fortiori aux applications d'environnement de développement intégré (EDI) où se trouve les différents outils Java.
Le lancement de n'importe lequel des outils nécessite l'apport d'au moins, un élément relativement important. Il s'agît de la variable d'environnement PATH déclarant la localisation des fichiers binaires exécutables du Java 2 SDK.
Sous DOS (cmd.exe) C:\>path /? Affiche ou définit un chemin de recherche des fichiers exécutables. PATH [[lecteur:]chemin[;...][;%PATH%] PATH ; Entrez PATH ; pour effacer les chemins de recherche et indiquer à cmd.exe de ne chercher que dans le répertoire en cours. Entrez PATH sans paramètres pour afficher le chemin de recherche en cours. L'ajout de %PATH% dans le paramètre du nouveau chemin permet d'ajouter celui-ci à l'ancien chemin de recherche. C:\>path Validez PATH=C:\j2sdk1.4.1\bin;C:\WINNT\system32;C:\WINNT |
Si le répertoire d'installation des fichiers binaires du kit logiciel de développement Java 2 (Java 2 SDK) n'existe pas, alors dans le but d'éviter certains désagréments, il faudra ajouter ce chemin au PATH.
Ajout du chemin Sous DOS C:\>path=C:\j2sdk1.4.1\bin;%PATH% Validez Sous Linux setenv PATH chemin/j2sdk1.4.1 Validez ou PATH = chemin/j2sdk1.4.1 export PATH
De cette manière, chaque fichier exécutable sera directement accessible de n'importe quel répertoire dans la session DOS en cours. Pour conserver ce paramétrage, il suffit de modifier la variable système Path à partir des variables d'environnement des propriétés systèmes (Clic droit sur le Poste de travail -> Propriétés).
Le compilateur et la machine virtuelle ont besoin d'un argument fondamental, pour respectivement, construire un fichier classe à partir du source et des éventuelles autres classes importées et lancer une application Java à partir du répertoire contenant les classes appelées.
C:\>javac /? Validez javac: invalid flag: /~ Usage: javac <options> <source files> where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info -nowarn Generate no warnings -verbose Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are us ed -classpath <path> Specify where to find user class files -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -d <directory> Specify where to place generated class files -encoding <encoding> Specify character encoding used by source files -source <release> Provide source compatibility with specified release -target <release> Generate class files for specific VM version -help Print a synopsis of standard options C:\>java -help Validez Usage: java [-options] class [args...] (to execute a class) or java -jar [-options] jarfile [args...] (to execute a jar file) where options include: -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM [deprecated] The default VM is client. -cp -classpath <directories and zip/jar files separated by ;> set search path for application classes and resources -D<name>=<value> set a system property -verbose[:class|gc|jni] enable verbose output -version print product version and exit -showversion print product version and continue -? -help print this help message -X print help on non-standard options -ea[:<packagename>...|:<classname>] -enableassertions[:<packagename>...|:<classname>] enable assertions -da[:<packagename>...|:<classname>] -disableassertions[:<packagename>...|:<classname>] disable assertions -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions |
Les commandes javac et java possèdent tous les deux, un argument appelé -classpath <chemin vers les classes> permettant de diriger le compilateur ou la machine virtuelle vers le répertoire de classes adéquat.
Compilation du source FichierClasse.java javac -classpath c:\travail\classes -d c:\travail\classes FichierClasse.java |
Dans ce premier cas, le compilateur recherche dans le répertoire spécifiée par -classpath les classes à importer dans le fichier source Java. D'autre part, l'argument -d fournit une destination vers un répertoire, pour le fichier classe généré à partir de cette instruction.
Exécution du fichier classe FichierClasse.class java -classpath c:\travail\classes FichierClasse
Dans ce second cas, la machine virtuelle tente de lancer un fichier classe à partir de son identificateur (FichierClasse) et de son chemin (c:\travail\classes).
La variable ClassPath indique donc à ces outils la localisation des classes à utiliser. Si cette variable n'est pas renseignée, des classes importées risquent de ne pas être trouvées par les outils Java, et partant, le traitement échouera.
Sous Linux, il faudra créer une variable d'environnement CLASSPATH à l'aide de la commande setenv ou export.
% setenv CLASSPATH chemin/classe:...:chemin/classeN Validez CLASSPATH = chemin/classe:...:chemin/classeN export CLASSPATH
La plupart des EDI Java proposent dans leur configuration, différents moyens permettant de régler correctement les variables PATH et CLASSPATH.
En ce qui concerne, le générateur de documentation (javadoc.exe), à l'image du compilateur, peut recevoir un argument de destination (-d <répertoire>) pour les fichiers HTML générés.
javadoc -d c:\travail\docs FichierSource.java
L'installation de cet outil s'effectue assez simplement dans un EDI, en passant en général par les options de configuration. Ces dernières permettent l'intégration d'utilitaires Java avec leurs arguments et leur chemin.
D'autres notions sont nécessaires afin de parvenir à tirer pleinement parti de son environnement de développement. L'espace de travail (workspace) est un conteneur de projets, lesquels contiennent les fichiers sources Java.
Développer avec un EDI contraint à s'imposer une certaine organisation en l'occurrence, de toujours travailler au sein d'un projet lequel peut être englobé dans un espace de travail.