Häufig gestellte Fragen zu JDT

Kann ein anderer Java-Compiler als der in der Workbench integrierte Compiler verwendet werden (z. B. javac)?

Nein. JDT stellt eine Reihe von ausgeklügelten Funktionen zur Verfügung, unter anderem eine vollautomatische schrittweise Neukompilierung, die Auswertung von Codeausschnitten, die Unterstützung für Code, Typhierarchien und sofortige Codeersetzung. Diese Funktionen benötigen die spezielle Unterstützung, die durch den Java-Compiler der Workbench (als integralem Bestandteil des Programms zur schrittweisen Erstellung von Projekten von JDT) bereitgestellt wird, die jedoch in Java-Standard-Compilern nicht verfügbar ist.

Woher stammen Java-Pakete?

Ein Projekt enthält nur Dateien und Ordner. Das Konzept des Java-Pakets wird durch den Klassenpfad eines Java-Projekts ermöglicht (in der Benutzerschnittstelle stellt der Paket-Explorer die Pakete so dar, wie sie durch den Klassenpfad definiert werden). Tipp: Falls die Paketstruktur nicht Ihren Erwartungen entspricht, überprüfen Sie den Klassenpfad. Die Java-Suchinfrastruktur findet nur Deklarationen für und Verweise von Java-Elementen, die sich im Klassenpfad befinden.

Wann wird eine interne JAR-Bibliotheksdatei und wann eine externe JAR-Bibliotheksdatei verwendet?

Eine interne Ressource befindet sich in einem Projekt in der Workbench und wird daher durch die Workbench verwaltet. Interne Ressourcen können - wie andere Ressourcen auch - der Versionssteuerung durch die Workbench unterliegen. Eine externe Ressource ist nicht Bestandteil der Workbench und kann nur mittels Verweis verwendet werden. Beispiel: Eine JRE ist häufig extern und sehr umfangreich, und es besteht kein Bedarf, sie einem VCM-System zuzuordnen.

Wann sollten in einem Java-Projekt Quellenordner verwendet werden?

Jedes Java-Projekt lokalisiert seine Java-Quellendateien über einen oder mehrere Einträge für Quellentypen im Klassenpfad des Projekts. Durch die Verwendung von Quellenordnern können die Pakete eines umfangreichen Projekts in sinnvollen Gruppen verwaltet werden. Außerdem kann auf diese Weise der Quellcode separat von anderen Dateien in demselben Projekt aufbewahrt werden. Die Verwendung von Quellenordnern ist zudem dann sinnvoll, wenn Dateien vorhanden sind (z. B. Dokumentation), die nicht im Erstellungspfad enthalten sein müssen.

Was sind Quellenzuordnungen und wie werden sie definiert?

Bibliotheken werden als JAR-Dateien gespeichert, die binäre Klassendateien (und vielleicht noch weitere Ressourcen) enthalten. Diese binären Klassendateien stellen Signaturdaten für Pakete, Klassen, Methoden und Felder bereit. Diese Informationen sind für die Ausführung oder Kompilierung ausreichend , enthalten jedoch weit weniger Angaben als der originale Quellcode. Um das Durchsuchen und das Debug von binären Bibliotheken zu vereinfachen, gibt es einen Mechanismus, mit dem einer binären JAR-Datei eine entsprechende JAR-Quellendatei (oder komprimierte Quellendatei) zugeordnet werden kann.

Warum werden alle Ressourcen in den Ausgabeordner (z. B. Ordner "bin") kopiert?

Wenn Ihr Java-Projekt Quellenordner einsetzt, kopiert der Java-Compiler im Rahmen der Kompilierung der Quellendateien im Projekt Ressourcen, die keine Java-Ressourcen sind, ebenfalls in den Ausgabeordner, damit sie im Klassenpfad des ausgeführten Programms verfügbar sind. Um zu vermeiden, dass bestimmte Ressourcen in die Ausgabeposition kopiert werden, können Sie einen Ressourcenfilter in den Benutzervorgaben für den Java-Compiler aktivieren (Fenster > Benutzervorgaben > Java > Compiler > Erstellung).

Wie kann das Kopieren von Dokumentationsdateien in den Ausgabeordner eines Projekts verhindert werden?

Verwenden Sie Quellenordner, und stellen Sie alle Ressourcen, die nicht in den Ausgabeordner kopiert werden sollen, in einen separaten, nicht im Klassenpfad enthaltenen Ordner. Sie können auch einen Ressourcenfilter in den Benutzervorgaben für den Java-Compiler festlegen, z. B. *.doc über Fenster > Benutzervorgaben > Java > Compiler > Erstellung.

Wie wird ein Standardpaket erstellt?

Die Erstellung eines solchen Pakets ist nicht erforderlich. Dateien im Stammordner eines Quellenordners oder Projekts werden so behandelt, als ob sie sich im Standardpaket befinden würden. Eigentlich ist es so, dass jeder Quellenordner ein Fragment des Standardpakets enthalten kann.

Was versteht man unter Refactoring?

Der Begriff "Refactoring" bezeichnet Programmtransformationen, bei denen das Verhalten des Programms erhalten bleibt. JDT unterstützt eine Reihe von Transformationen, die Martin Fowler in seinem Buch Refactoring: Improving the Design of Existing Code, Addison Wesley 1999, beschrieben hat.

Wann wird die Funktion zur Codeauswahl/Codeauflösung (Taste F3) verwendet?

Wenn mit Hilfe des Compilers das Java-Element ermittelt werden soll, das einem Quellenbereich entspricht.

Werden die Java-Programminformationen (z. B. Typhierarchie, Deklarationen, Verweise) durch das Java-Erstellungsprogramm erzeugt? Werden sie auch dann aktualisiert, wenn die automatische Erstellung inaktiviert ist?

Die Java-Programminformationen sind vom Java-Erstellungsprogramm unabhängig. Sie werden automatisch aktualisiert, sobald Ressourcenänderungen oder Java-Operationen vorgenommen werden. Insbesondere funktionieren alle Funktionen, die durch die Java-Tools bereitgestellt werden (z. B. Typhierarchien, Unterstützung für Code, Suche) auch dann weiterhin einwandfrei, wenn die automatische Erstellung inaktiviert ist. Beispielsweise können Sie bei einer umfangreichen Umgestaltung, bei der die Erstellungsprogramme inaktiviert werden müssen, weiter die Unterstützung für den Code verwenden, die die letzten (noch nicht erstellten) Änderungen wiedergibt. Neben der Startfunktion (also der Ausführung und dem Debug) für Programme ist die Auswertung von Codeausschnitten die einzige Funktion, die auf das Java-Erstellungsprogramm angewiesen ist.

Nachdem eine Workbench erneut geöffnet wurde, scheint die erste Erstellung nach der Bearbeitung einer Java-Quellendatei sehr lange zu dauern. Woran liegt dies?

Das Programm zur schrittweisen Erstellung von Java-Projekten speichert seinen internen Status in einer Datei, wenn die Workbench geschlossen wird. Bei der ersten Erstellung nach dem erneuten Öffnen des Projekts stellt dieses Erstellungsprogramm seinen internen Status wieder her. Wenn die entsprechende Datei sehr umfangreich ist, ergibt sich für den Benutzer bei der Erstellung eine ungewöhnlich lange Verzögerung.

Für eine Klasse wird keine Typhierarchie angezeigt. Was kann man in diesem Fall tun?

Prüfen Sie, ob der Klassenpfad für die Erstellung richtig definiert wurde. Die Einrichtung eines ordnungsgemäßen Klassenpfads für die Erstellung ist ein wichtiger Punkt im Rahmen der Java-Entwicklung. Ohne einen korrekten Erstellungspfad kann der Code nicht kompiliert werden. Außerdem sind Sie in einem solchen Fall nicht in der Lage, die Typhierarchien für Java-Elemente anzuzeigen oder zu durchsuchen.

Wie kann die automatische Kompilierung inaktiviert und die Kompilierung bei Bedarf manuell ausgeführt werden?

Wählen Sie das Markierungsfeld Fenster > Benutzervorgaben > Allgemein > Arbeitsbereich > Automatisch erstellen ab. Möchten Sie eine Erstellung ausführen, drücken Sie Strg+B, oder wählen Sie in der Menüleiste Projekt > Alles erneut erstellen aus.

Tipp: Wenn Sie die "automatische Kompilierung" inaktivieren und manuell erstellen wählen, können Sie auch das Markierungsfeld Fenster > Benutzervorgaben > Allgemein > Arbeitsbereich > Vor Erstellung automatisch speichern auswählen.

Bei der Auswahl einer Methode oder eines Feldes in der Sicht "Gliederung" wird nur die Quelle für dieses Element im Editor angezeigt. Wie kann die Quelle der gesamten Datei angezeigt werden?

Es gibt in der Symbolleiste eine Schaltfläche Nur Quelle des ausgewählten Elements anzeigen. Sie müssen einfach nur diese Schaltfläche inaktivieren.

Können Quellenordner verschachtelt werden?

Ja. Mit Hilfe von Ausschlussfiltern können verschachtelte Quellenordner erstellt werden.

Können für jeden Quellenordner separate Ausgabeordner definiert werden?

Ja. Wählen Sie das Markierungsfeld Ausgabeordner für Quellenordner zulassen auf der Eigenschaftenseite Java-Erstellungspfad > Quelle für Ihr Java-Projekt aus.

Kann ein Ausgabe- oder Quellenordner verwendet werden, der sich nicht innerhalb des Arbeitsbereichs befindet?

Ja. Sie können einen verlinkten Ordner erstellen, der auf die gewünschte Position zeigt, und diesen Ordner in Ihrem Java-Projekt als Quellen- oder als Ausgabeordner verwenden.

Verwandte Konzepte

Java Development Tools (JDT)

Verwandte Referenz

Seite "Java-Erstellungspfad"
JDT-Glossar