Ich versuche unter die Haube über Java Compilation zu schauen. Also habe ich meine IDE weg und begann mit MS-DOS-Befehlszeile ...Wie findet der Java-Compiler die Klassendateien, während der Klassenpfad nicht auf den jdk-Pfad gesetzt ist?
ich ein einfaches Projekt erstellt, wie weiter unten im Baum beschrieben:
SampleApp
|____**src**
|_____pack
|______Sample.java
|____**classes**
Diese Code ist die Sample.java Quelle:
public class Sample
{
private String s = new String("Hello, world");
public Sample(){
System.out.println(s);
}
}
ich will nur diese Klasse kompilieren, so dass ich verwendet, um den Befehl javac:
prompt\SampleApp\src>javac -d ..\classes -sourcepath . pack\Sample.java
Alles funktioniert gut, aber ich habe das nicht erwartet, weil ich meine CLASSPATH
Umgebungsvariable vor dem Kompilieren meiner Sample.java-Datei gelöscht habe. Daher erwartete ich einen Compilerfehler aufgrund der Tatsache, dass der Compiler die java.lang.String-Klassendatei nicht finden konnte.
Ich habe diesen Artikel gelesen, der mir geholfen hat, viele Dinge zu verstehen. Der Artikelautor sagt, dass der Standardklassenpfad das aktuelle Arbeitsverzeichnis ist. Aber ich verstehe nicht, warum mein Quellcode fehlerfrei kompiliert wird. Kann mir das jemand erklären?
Vielen Dank für Ihre Antwort. Es hilft mir wirklich! Ich werde nach weiteren Informationen über bootclasspath suchen. –