Se la classe è in un pacchetto
package thepackagename;
public class TheClassName {
public static final void main(String[] cmd_lineParams) {
System.out.println("Hello World!");
}
}
Quindi chiama:
java -classpath . TheClassName
risulta in Error: Could not find or load main class TheClassName
. Questo perché deve essere chiamato con il suo nome completo:
java -classpath . thepackagename.TheClassName
E questo thepackagename
la directory deve esistere nel classpath. In questo esempio, .
, ovvero la directory corrente, è l'intero classpath. Pertanto questo particolare esempio deve essere richiamato dalla directory in cui si trova thepackagename
esiste.
Per essere chiari, il nome di questa classe non è TheClassName
, È thepackagename.TheClassName
. Tentativo di eseguire TheClassName
non funziona, perché non esiste alcuna classe con quel nome . Non sul classpath corrente comunque.
Infine, tieni presente che viene eseguita la versione compilata (.class), non il codice sorgente ( .java). Da qui "CLASSPATH".
Devi assicurarti di aggiungere la posizione del tuo .class
file nel tuo classpath. Quindi, se si trova nella cartella corrente, aggiungi .
al tuo classpath. Nota che il separatore del classpath di Windows è un punto e virgola, cioè un ;
.