Was ist der Unterschied zwischen dem Festlegen des Classpath- und des Java-Build-Pfades in Eclipse?

7

Welche Möglichkeiten haben Java-Programme, um auf externe Bibliotheken zuzugreifen? Es gibt einen Klassenpfad, der den Build- oder Build-Pfad ändert, aber ich habe andere Möglichkeiten zum Hinzufügen von JARS gesehen.

Warum müssen einige Bibliotheken zum Klassenpfad hinzugefügt werden, andere dagegen nicht. Zum Beispiel verwende ich JSF, WTP-Tools und andere zusätzliche Bibliotheken, aber sie sind nicht in meinem Build-Pfad, wenn ich den Build-Pfad meines Projekts ansehe.

    
Randnum 18.11.2011, 16:04
quelle

4 Antworten

6

Der Java Build Path ist nur eine Eclipse-Sache. Hier findet Eclipse die Klassen, die zum Kompilieren und Ausführen der Klassen des Projekts benötigt werden. Es ist also sowohl der Kompilierungs- als auch der Klassenpfad.

Bei einer Webanwendung wird die Webanwendung in einem Java EE-Webcontainer ausgeführt. Der Web-Container ermöglicht den Zugriff auf Standard-Java EE-Klassen (javax.servlet usw.). Außerdem werden alle JAR-Dateien in WEB-INF / Klassen automatisch in den Klassenpfad der Web-App aufgenommen. Eclipse muss also nicht im Java-Buildpfad angegeben werden. Sie sind automatisch enthalten.

    
JB Nizet 18.11.2011, 16:10
quelle
13

Der Klassenpfad wird verwendet, um Klassen zu finden, wenn ausgeführt wird ein Java-Programm. Der Build-Pfad wird verwendet, wenn Eclipse ein Java-Programm kompiliert .

    
Jack Edmonds 18.11.2011 16:07
quelle
1

Zur Entwicklungszeit.

Ein Build-Pfad ist einer, wo Sie explizit auf Software / Jars von Drittanbietern zeigen können.

Standardmäßig werden nicht alle Drittanbieter-Software Ihrem Klassenpfad hinzugefügt. Daher müssen Sie diesen Pfad möglicherweise explizit zu Ihrem Pfad hinzufügen.

Zur Laufzeit.

Wenn Sie andererseits Ihre Anwendungen über die Befehlszeile ausführen, würden Sie dem Klassenpfad vorangehen, indem Sie -cp verwenden, um die Drittanbieter-JARs anzugeben.

Zum Beispiel in Webprojekten würden Sie es bei der Bereitstellung Ihrer Web-inf-Bibliothek hinzufügen.

    
r0ast3d 18.11.2011 16:10
quelle
0

Ein Klassenpfad ist einfach ein Array von Klassenpfadeinträgen ( IClasspathEntry ), die die verfügbaren Typen beschreiben. Der Klassenpfad ist eine Umgebungsvariable, die angibt, wo nach Klassendateien gesucht werden soll. Sie ist im Allgemeinen auf ein Verzeichnis oder eine JAR-Datei (Java-Archiv) eingestellt.

Der Java-Build-Pfad spiegelt sich in der Struktur eines Java-Projektelements wider. Sie können ein Projekt nach seinen Paketfragment-Roots abfragen ( IPackageFragmentRoot ). Der Build-Pfad ist der Klassenpfad, der zum Erstellen eines Java-Projekts verwendet wird ( IJavaProject ).

    
PENNY 18.11.2011 16:39
quelle

Tags und Links