Sto cercando di dare un'occhiata alla compilation java. Così ho messo il mio IDE di distanza e iniziato a utilizzare MS-DOS a riga di comando ...Come fa il compilatore java a trovare i file di classe mentre il classpath non è impostato sul percorso jdk?
Ho creato un progetto semplice, come descritto nella albero di seguito:
SampleApp
|____**src**
|_____pack
|______Sample.java
|____**classes**
Questo è il codice sorgente Sample.java:
public class Sample
{
private String s = new String("Hello, world");
public Sample(){
System.out.println(s);
}
}
voglio solo compilare questa classe, quindi ho usato il comando javac:
prompt\SampleApp\src>javac -d ..\classes -sourcepath . pack\Sample.java
Tutto funziona correttamente, ma non me l'aspettavo perché ho cancellato la mia variabile di ambiente CLASSPATH
prima di compilare il mio file Sample.java. Quindi mi aspettavo un errore del compilatore dovuto al fatto che il compilatore non sarebbe stato in grado di trovare il file di classe java.lang.String.
Ho letto questo articolo http://www.ibm.com/developerworks/java/library/j-classpath-windows/ che mi ha aiutato a capire molte cose. L'autore dell'articolo dice che il classpath predefinito è la directory di lavoro corrente. Ma non capisco perché il mio codice sorgente venga compilato senza errori. Qualcuno potrebbe spiegarmi questo?
Grazie per la risposta. Mi aiuta davvero! Cercherò ulteriori informazioni su bootclasspath. –