IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ Langage JavaConsultez toutes les FAQ

Nombre d'auteurs : 42, nombre de questions : 297, dernière mise à jour : 19 septembre 2017  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum Java de http://java.developpez.com ainsi que l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.

SommaireEn développementInstallation et compilation (2)
précédent sommaire suivant
 

Nous n'aborderons pas ici les techniques spécifiques à employer sous les divers environnements de programmation (IDE), car tous fournissent une documentation compétente et, si ce n'est pas le cas, ils 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 publique (casse majuscules/minuscules 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 :

Code Console : Sélectionner tout
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.

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 :

Code Console : Sélectionner tout
javac -d classes/ sources/MonFichierACompiler.java

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

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 :

Code Console : Sélectionner tout
java -classpath classes/ MonFichierACompiler

Ici, nous précisons à l'application java qu'elle doit trouver les fichiers *.class dans le répertoire classes et qu'elle trouvera son point de départ dans la classe publique nommée MonFichierACompiler.

Note : si vos fichiers *.class se trouvent dans le répertoire courant, vous pouvez utiliser : -classpath .Pour rappel ce point de départ correspond à la méthode dont la signature est :

Code Java : Sélectionner tout
1
2
3
public static void main (String[] argv) 
// Ou 
public static void main (String... argv)

Si vous avez omis cette méthode, vous obtiendrez un message d'erreur du style :

Code Console : Sélectionner tout
Exception in thread "main" java.lang.NoSuchMethodError: main

Et si votre CLASSPATH est erroné, vous obtiendrez :

Code Console : Sélectionner tout
Exception in thread "main" java.lang.NoClassDefFoundError: MonFichierACompiler

Mis à jour le 29 septembre 2015 bouye 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 ou 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.

Mis à jour le 7 avril 2003 Clement Cunin

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.