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 ; .