Ces instructions sont destinées aux systèmes Unix ou similaires (comme Linux et MacOS). Pour les utilisateurs de Windows, il est recommandé d’installer WSL (Windows Subsystem for Linux).
Installer
Pour installer et utiliser Java pour le développement d’applications, il suffit de télécharger un JDK. Il est recommandé d’utiliser celui du projet Temurin en raison de ses avantages en termes de licence. Une fois téléchargé, décompressez-le dans un répertoire de votre choix. Ensuite, définissez la variable d’environnement JAVA_HOME pour pointer vers ce répertoire et ajoutez $JAVA_HOME/bin à votre variable PATH pour pouvoir utiliser Java à partir de n’importe où dans votre système.
Pensez à ajouter ces commandes au .bashrc (ou .zshrc).
Pour une installation rapide et simple de Java et de Maven, il est conseillé d’utiliser l’outil SDKMan. SDKMan permet de gérer facilement différentes installations et versions de Java et d’autres outils, facilitant ainsi la transition d’une version à une autre.
openjdk 21.0.4 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode, sharing)
et du compilateur sont correctes :
%%shelljavac --version
javac 21.0.4
A Faire
Installer un JDK au minimum version 21.
Compiler et exécuter
Pour commencer, créez un répertoire qui contiendra tous vos projets, par exemple /home/jovyan/work (vous pouvez adapter ce chemin selon vos préférences). Ce répertoire sera appelé répertoire de travail ou workspace.
À l’intérieur de ce répertoire de travail, ajoutez le répertoire du projet, par exemple java/TP1/premierprogramme/, que nous appellerons répertoire de projet.
Ensuite, dans votre répertoire de projet, ajoutez les répertoires standards suivants : src, bin, doc, dist et lib.
Dans le répertoire src, créez l’arborescence correspondant au paquetage : fr.univtln.login.tp.tp1 (remplacez login par VOTRE login). À l’intérieur de ce paquetage, ajoutez la classe Java HelloWorld.java ci-dessous.
HelloWorld.java
package fr.univtln.jovyan.tp.tp1;/*** A very simple class to say Hello * @author Emmanuel Bruno**/publicclass HelloWorld {/*** A dummy constructor*/publicHelloWorld(){}/*** The entry point of the class * @paramargsThe first parameter is a firstname*/publicstaticvoidmain(String[] args){if(args.length==1)System.out.println("Bonjour "+args[0]);elseSystem.out.println("Usage : PremierProgramme [prenom]");}}
créer les répertoires standards (adapter le chemin /home/jovyan/work/):
A partir de votre répertoire de projet, compiler le programme avec la commande suivante qui indique la fichier à compiler, l’emplacement des sources au cas ou d’autres classes sont nécessaires et la destination du bytecode :
A Faire
Mettre en place manuellement le projet et modifier ce programme pour que l’instruction package soit correcte en adaptant votre login.
Pour compiler, il faut utiliser commande javac en indiquant le répertoire des sources (si d’autres classes doivent être compilées), éventuellement le répertoire de destination et obligatoirement le fichier source.
%%shellcd "/home/jovyan/work/java/TP1/premierprogramme/"javac -sourcepath src -d bin src/fr/univtln/jovyan/tp/tp1/HelloWorld.javatree "/home/jovyan/work/java/TP1/premierprogramme/"
Pour exécuter le programme, depuis votre répertoire de projet utiliser la commande java et ajouter le répertoire bin au classpath :
%%shellcd "/home/jovyan/work/java/TP1/premierprogramme/"# Displays current directorypwd# Load the Helloworld class and run the main method.java-classpath bin fr.univtln.jovyan.tp.tp1.HelloWorld Pierre
/home/jovyan/work/java/TP1/premierprogramme
Bonjour Pierre
A Faire
Compiler et exécuter la classe HelloWorld.
Documenter
La commande javadoc génère de la documentation à partir de commentaires spécifiques insérés dans le code source des classes (encadrés par /** ... */). Cette fonctionnalité permet de documenter des packages, des classes ou interfaces, des variables d’instance, des méthodes, et plus encore.
Les commentaires peuvent contenir du texte simple ainsi que des balises HTML pour la mise en forme (<I> pour l’italique, <B> pour le gras, etc.). La balise <code> est utilisée pour inclure des extraits de code dans les commentaires. Des annotations spéciales, débutant par le caractère @ (comme @author, @version, @param, etc.), permettent de définir des informations standard.
Loading source files for package fr.univtln.jovyan.tp.tp1...
Constructing Javadoc information...
Building index for all the packages and classes...
Standard Doclet version 21.0.4+7-LTS
Building tree for all the packages and classes...
Generating doc/fr/univtln/jovyan/tp/tp1/HelloWorld.html...
Generating doc/fr/univtln/jovyan/tp/tp1/package-summary.html...
Generating doc/fr/univtln/jovyan/tp/tp1/package-tree.html...
Generating doc/overview-tree.html...
Building index for all classes...
Generating doc/allclasses-index.html...
Generating doc/allpackages-index.html...
Generating doc/index-all.html...
Generating doc/search.html...
Generating doc/index.html...
Generating doc/help-doc.html...
un package Java est commenté en créant un fichier package-info.java dans le répertoire correspondant :
package-info.java
/*** This package is a first dummy exemple.*<p>* It presents a minimal Java Exemple.*</p>**@since1.0*@author Emmanuel BRUNO*@version1.1*/package fr.univtln.jovyan.tp.tp1;
A Faire
Générer et consulter la documentation depuis votre répertoire de projet. Ajouter un commentaire pour le package tp1.
Empaqueter
Pour regrouper un ensemble de classes Java, on utilise la commande jar, qui permet de créer un fichier JAR (Java ARchive). Ce fichier contient les packages et les classes nécessaires à l’application.
Pour rendre un JAR exécutable en Java et spécifier la classe principale, vous pouvez suivre ces étapes :
Créez un fichier monManifest.txt à la racine de votre projet.
Ajoutez la ligne suivante dans ce fichier, en remplaçant <nom de la classe point d'entrée> par le nom complet de votre classe contenant le point d’entrée principal (c’est-à-dire la méthode main de votre application) :
Main-Class: <nom de la classe point d'entrée>
Par exemple, si votre classe principale s’appelle MainApp, le fichier monManifest.txt ressemblera à ceci :
Main-Class: MainApp
Ensuite, pour créer votre JAR exécutable avec ce manifest personnalisé, utilisez la commande jar avec l’option c pour créer l’archive et l’option m pour spécifier le manifest :
jar cfm monApplication.jar monManifest.txt -C chemin/vers/les/classes .
monApplication.jar est le nom que vous souhaitez donner à votre JAR exécutable.
monManifest.txt est le nom du fichier manifest que vous avez créé.
Assurez-vous de remplacer chemin/vers/les/classes par le chemin relatif ou absolu vers le répertoire contenant vos fichiers .class.