Si la classe est dans un package
package thepackagename;
public class TheClassName {
public static final void main(String[] cmd_lineParams) {
System.out.println("Hello World!");
}
}
Puis appeler :
java -classpath . TheClassName
résultats en Error: Could not find or load main class TheClassName
. En effet, il doit être appelé avec son nom complet :
java -classpath . thepackagename.TheClassName
Et ce thepackagename
Le répertoire doit exister dans le classpath. Dans cet exemple, .
, c'est-à-dire le répertoire courant, est l'intégralité du classpath. Cet exemple particulier doit donc être appelé depuis le répertoire dans lequel thepackagename
existe.
Pour être clair, le nom de cette classe n'est pas TheClassName
, c'est thepackagename.TheClassName
. Tentative d'exécution de TheClassName
ne fonctionne pas, car aucune classe portant ce nom n'existe . Pas sur le classpath actuel de toute façon.
Enfin, notez que la version compilée (.class) est exécutée, pas le code source ( .java). D'où "CLASSPATH".
Vous devez vous assurer d'ajouter l'emplacement de votre .class
fichier à votre chemin de classe. Donc, si c'est dans le dossier en cours, ajoutez .
à votre chemin de classe. Notez que le séparateur de chemin de classe Windows est un point-virgule, c'est-à-dire un ;
.