Ich bin mit diesen beiden Begriffen verwechselt.
Was kann ich auch tun, um eine Datei im Ordner src eines Spring MVC-Projekts zu erstellen? Wenn ich mit einem Dateiobjekt erstelle, wird die Datei in C: \ SpringSourceTool erstellt ... Ich denke, das ist ClassPath, oder?
Wie kann ich den applicationcontext
Ordner oder das Stammverzeichnis der Anwendung abrufen?
Der Klassenpfad ist die herkömmliche Methode, um dem (Standard-) Java-Compiler und der Java-Laufzeit mitzuteilen, wo kompilierte Klassen zu finden sind. Dies ist normalerweise eine Folge von JAR-Dateinamen und Verzeichnisnamen. Der Classpath durch den Compiler und Runtime - System verwendet werden , nicht sein müssen die gleichen, aber sie in der Regel sollte sein , vor allem für ein kleines Projekt.
Buildpath ist keine Standard-Java-Terminologie. Es ist der Begriff für die umfassendere Art und Weise, wie eine typische IDE die Beziehung zwischen den "Projekten" angibt, aus denen eine Anwendung besteht. Die IDE verwendet dies, um den Klassenpfad und den Quellpfad zum Kompilieren des Java-Codes sowie den Klassenpfad zum Ausführen des Codes zu ermitteln. Die IDE verwendet auch den Erstellungspfad, um herauszufinden, wie Sie Ihren Code und seine Abhängigkeiten als (zum Beispiel) WAR-Datei verpacken können.
Ein Eclipse-Erstellungspfad für ein Projekt enthält beispielsweise die anderen Projekte, von denen es abhängt, und listet alle zusätzlichen Bibliotheks-JARs auf, die das Projekt enthält / auf die es sich stützt. Außerdem werden die Pakete im aktuellen Projekt aufgelistet, von denen nachgelagerte Projekte abhängen können.
(Wenn Sie Maven für Ihr Projekt verwenden, ist der IDE-Erstellungspfadmechanismus sekundär zu den in den POM-Dateien deklarierten Abhängigkeiten. Wenn Sie beispielsweise Eclipse mit m2eclipse verwenden, wird der Erstellungspfad aus den POM-Dateien synthetisiert.)
quelle
Der Klassenpfad wird zur Laufzeit zum Laden kompilierter Klassen und Ressourcen verwendet.
Der Erstellungspfad wird zur Kompilierungszeit verwendet, um die Abhängigkeiten zu ermitteln, die zum Erstellen Ihres Projekts erforderlich sind.
quelle
.class
Dateien (und anderen kompilierten Ressourcen) verwendet wird, während der Erstellungspfad zum Suchen von Quelldateien verwendet wird, die kompiliert werden müssen?Jedes Java-Projekt verfügt über einen eigenen Erstellungspfad, der alle zum Kompilieren des Projekts erforderlichen Abhängigkeiten angibt. Diese Abhängigkeiten können von anderen Java-Projekten im Arbeitsbereich, von Java-Archiv-JAR-Dateien oder von Ordnern mit .class-Dateien stammen.
In der CLASSPATH-Umgebung müssen Sie nur .class-Dateien angeben (dh jar, zip-Dateien - In jar, zip-Dateien finden Sie nur Java-Klassen), dh Sie helfen Java Virtual Machine (JVM), Java-Klassendateien zu finden
Hier wurde die JVM gestartet. Wenn Sie die Datei an einer anderen Stelle erstellen möchten, verwenden Sie den relativen Pfad von hier aus.
Siehe dies und das für weitere Informationen.
quelle
Ich möchte die Antwort von Andreas_D ergänzen, um zu erklären, dass der Erstellungspfad von der IDE / dem Compiler benötigt wird, um externe Pakete und Klassen zu finden, die von Ihrem Code verwendet werden. Wir bezeichnen diese manchmal als "Abhängigkeiten" .
NB: Diese externen Pakete können in einer komprimierten JAR-Datei gepackt sein, oder es können mehrere JAR-Dateien in einer 'Bibliothek' gepackt sein . Eine Bibliothek oder eine Gruppe von Bibliotheken bildet häufig ein "Framework" .
Wenn für Ihren Code von anderen geschriebener Code erforderlich ist, können Sie diese mit dem Befehl in Ihre Klasse importieren
import
. Dieser Befehl allein reicht jedoch nicht aus, da der Compiler oder die IDE wissen muss, wo sich diese Klassen befinden. Sie geben dies im Erstellungspfad an .Die
classpath
auf der anderen Seite erzählt die JVM läuft Ihre Anwendung , bei dem während der eigentlichen Ausführung des Codes alle Abhängigkeiten zu finden.Beachten Sie auch: Classpath wird von der JVM verwendet.
Buildpath wird von der IDE / dem Compiler verwendet und dient zum Erstellen des Klassenpfads aus Ihrer Entwicklungsumgebung. Wenn Sie Ihren Buildpath über Ihre IDE konfigurieren, konfigurieren Sie in Ihrem Projekt auch eine versteckte Datei mit dem Namen .classpath. Dies wird verwendet, um den Klassenpfad für JVM bei der Bereitstellung bereitzustellen.
quelle
Klassenpfad ( aus Wikipedia ):
Einfach ausgedrückt: Während Ihr Programm ausgeführt wird, lädt die JVM Klassen nur nach Bedarf. Wenn eine Klasse benötigt wird, hängt die JVM vom Klassenpfad ab, um zu wissen, woher der Bytecode geladen werden soll (dh
.class
Dateien).Der Erstellungspfad wird normalerweise von einer IDE wie Eclipse verwendet, um zu wissen, wo nach zusätzlichen Bibliotheken gesucht werden muss, die zum Kompilieren des Quellcodes eines Projekts erforderlich sind. Der Erstellungspfad wird zur Laufzeit nicht verwendet.
quelle