Soutenez-nous
Les FAQs Java :
FAQ JAVA FAQ Java EE FAQ Java ME FAQ Java XML FAQ JavaFX FAQ Java GUI FAQ Struts FAQ JSF FAQ JDBC JDO FAQ Hibernate FAQ Spring FAQ Eclipse FAQ NetBeans FAQ JCreator FAQ Maven 2

FAQ JavaConsultez toutes les FAQ

Nombre d'auteurs : 53, nombre de questions : 231, dernière mise à jour : 26 janvier 2014 

 
OuvrirSommaireLe développementInstallation et compilation

Je ne parlerai en aucun cas des techniques à employer sous les divers environnements de programmation car tous fournissent une documentation compétente et si ce n'est pas le cas ne méritent tout simplement pas qu'on y prête attention.

Pré-requis/Rappel : Pour que la suite des opérations se passe bien, il est absolument nécessaire que les règles suivantes soient respectées :

  • un fichier contient une seule classe dont le modificateur de portée est public
  • le nom du fichier est strictement le même que le nom de la classe public (majuscule/minuscule importante)
  • il faut que les commandes java, javac, jar,... soient accessibles

Pour le vérifier le dernier point tapez dans une console ou un terminal ceci :

 
Sélectionnez
java -version

Si vous obtenez un message autre que la version de Java installée référez-vous à la documentation de votre système d'exploitation, généralement le problème est dû à la variable d'environnement PATH qui ne pointe pas sur le répertoire contenant les exécutables.

La Compilation :

La compilation se fait avec l'application nommée javac. Placez-vous dans votre répertoire de travail et exécutez la commande suivante :

 
Sélectionnez
javac -d classes/ sources/MonFichierACompiler.java

Ici nous avons donc un fichier Java nommé "MonFichierACompiler.java" dans le répertoire nommé "sources" et le résultat de la compilation sera placé dans le répertoire nommé "classes". Pour plus d'information sur les options utilisées, tapez la commande "javac" et la liste apparaîtra à l'écran.

L'Exécution :

L'exécution se fait via la commande java. Placez-vous dans votre répertoire de travail et exécutez la commande suivante :

 
Sélectionnez
java -classpath classes/ MonFichierACompiler

Ici nous précisons à l'application java qu'elle doit trouver les fichiers *.class dans le répertoire classes (note : si vos *.class se trouvent dans le répertoire courant, vous pouvez utiliser : "-classpath .") et qu'elle trouvera son point de départ dans la classe public nommée "MonFichierACompiler". Pour rappel ce point de départ correspond à la méthode dont la signature est :

 
Sélectionnez
public static void main (String argv [])

si vous avez ommis cette méthode vous obtiendrez un message d'erreur du style :

 
Sélectionnez
Exception in thread "main" java.lang.NoSuchMethodError: main

et si votre classpath est erroné vous obtiendrez :

 
Sélectionnez
Exception in thread "main" java.lang.NoClassDefFoundError: MonFichierACompiler
Créé le 27 janvier 2003  par Johann Heymes

Le rôle des imports en Java est très différent de celui des includes en C / C++.

Les includes en C :
Lorsque le compilateur C (Le préprocesseur pour être précis) rencontre un include, il ouvre et analyse le fichier spécifié. Le contenu du fichier influe directement sur la compilation.

Les imports en Java :
Les imports en Java n'ont aucun impact sur le fichier compilé, ils servent uniquement à préciser les classes que vous souhaitez utiliser sans indiquer chaque fois le nom du paquet. Une classe peut être utilisée sans avoir été importée, il suffit pour cela de préfixer le nom de la classe avec son nom de paquet.

Créé le 7 avril 2003  par Clément Cunin
Les codes sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Pour le reste, ce document constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Ce document issu de http://www.developpez.com est soumis à deux licences, en fonction des contributeurs : - Les contributions de Clément Cunin et Johann Heymes sont soumises aux termes de la la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies des contributions de Clément Cunin et Johann Heymes tant que cette note apparaît clairement : "Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement". - Pour ce qui est des autres contributions : Copyright © 2014 Developpez LLC : Tous droits réservés Developpez LLC. Aucune reproduction, ne peut en être faite sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.