Auf dieser Benutzervorgabenseite können verschiedene Einstellungen für Kompilierung, Erstellung und Prüfung von Java-Quellcode konfiguriert werden.
Die Benutzervorgaben für den Java-Compiler sind in die folgenden Abschnitte unterteilt:
Option |
Beschreibung |
Standardwert |
---|---|---|
Compiler-Konformitätsstufe |
Gibt die Kompatibilitätsstufe des Compilers an. |
1.4 |
Standardeinstellungen für Konformität verwenden |
Ist diese Option aktiviert, werden die Standardeinstellungen für die Kompatibilitätsstufe des Compilers angewendet. |
Aktiviert |
Kompatibilität der generierten Klassendateien |
Gibt die Kompatibilität der generierten Klassendateien an. |
1.2 |
Quellenkompatibilität |
Gibt die Kompatibilität des akzeptierten Quellcodes an. |
1.3 |
Kennungen mit dem Namen 'assert' nicht zulassen |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn 'assert' als Kennung verwendet wird (reserviertes Schlüsselwort in J2SE 1.4). |
Warnung |
Kennungen mit dem Namen 'enum' nicht zulassen |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn 'enum' als Kennung verwendet wird (reserviertes Schlüsselwort in J2SE 5.0). |
Warnung |
Variablenattribute zu generierten Klassendateien hinzufügen |
Ist diese Option aktiviert, werden der Klassendatei Variablenattribute hinzugefügt. Hierbei wird die Anzeige von lokalen Variablennamen im Debugger (an Stellen, an denen Variablen mit Sicherheit zugeordnet werden) aktiviert. Die daraus resultierende .class-Datei ist dann größer. |
Aktiviert |
Zeilennummernattribute zu generierten Klassendateien hinzufügen |
Ist diese Option aktiviert, werden der Klassendatei Zeilennummerninformationen hinzugefügt. Hierbei wird die Hervorhebung des Quellencodes im Debugger aktiviert. |
Aktiviert |
Quellendateiname zu generierter Klassendatei hinzufügen |
Ist diese Option aktiviert, wird der Klassendatei ein Quellendateiname hinzugefügt. Hierdurch wird die Darstellung des entsprechenden Quellcodes im Debugger aktiviert. |
Aktiviert |
Nicht verwendete lokale Variablen beibehalten |
Ist diese Option aktiviert, werden nicht verwendete lokale Variablen (d. h. nicht gelesene) nicht aus der Klassendatei entfernt. Das Entfernen kann den Debug-Vorgang potenziell verändern. |
Aktiviert |
finally-Blöcke integrieren |
Ist diese Option aktiviert, werden finally-Blöcke in die generierten Klassendateien integriert. Dies wirkt sich positiv auf die Leistung aus, es kann jedoch zu größeren Klassendateien führen. |
Inaktiviert |
Option |
Beschreibung |
Standardwert |
---|---|---|
Maximale Anzahl von gemeldeten Problemen pro Kompiliereinheit |
Gibt an, wie viele Probleme pro Kompiliereinheit gemeldet werden sollen. |
100 |
Verwendung von Ausschlussmustern in Quellenordnern aktivieren |
Ist diese Option inaktiviert, kann keinem Eintrag in einem Projektklassenpfad ein Ausschlussmuster zugeordnet werden. |
Aktiviert |
Mehrfachausgabepositionen für Quellenordner aktivieren |
Ist diese Option inaktiviert, kann keinem Eintrag in einem Projektklassenpfad eine spezifische Ausgabeposition zugeordnet werden. Auf diese Weise wird die Verwendung mehrerer Ausgabepositionen verhindert. |
Aktiviert |
Erstellung bei Erstellungspfadfehlern abbrechen |
Mit dieser Umschaltfunktion können Sie das Erstellungsprogramm anweisen, die Erstellung bei einem ungültigen Klassenpfad abzubrechen. |
Aktiviert |
Unvollständiger Erstellungspfad |
Gibt die Wertigkeit des Fehlers an, der gemeldet wird, wenn ein Eintrag im Klassenpfad nicht vorhanden, nicht gültig oder nicht sichtbar ist (z. B weil ein Verweisprojekt geschlossen wurde). |
Fehler |
Rückwirkende Abhängigkeiten |
Gibt die Wertigkeit des Fehlers an, der gemeldet wird, wenn ein Projekt an einem Zyklus beteiligt ist. |
Fehler |
Inkompatible erforderliche Binärobjekte |
Gibt die Wertigkeit des Fehlers an, der gemeldet wird, wenn ein Projekt inkompatible Binörobjekte erfordert. |
Ignorieren |
Doppelte Ressourcen |
Gibt die Wertigkeit des Fehlers an, der gemeldet wird, wenn mehr als ein Vorkommen einer Ressource in die Ausgabeposition kopiert werden soll. |
Warnung |
Ausgabeordner beim Bereinigen von Projekten ebenfalls bereinigen |
Gibt an, ob das Java-Erstellungsprogramm die Ausgabeordner bereinigen darf, wenn Operationen für eine vollständige Erstellung ausgeführt werden. |
Aktiviert |
Gefilterte Ressourcen |
Eine durch Kommata untergliederte Liste der Dateimuster, die nicht in den Ausgabeordner kopiert werden. |
'' |
Option |
Beschreibung |
Standardwert |
---|---|---|
Nicht statischer Zugriff auf statisches Member |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn in einem Ausdrucksempfänger auf ein statisches Feld oder eine Methode zugegriffen wird. Ein Verweis auf ein statisches Member sollte durch einen Typnamen qualifiziert werden. |
Warnung |
Indirekter Zugriff auf statisches Member |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn indirekt auf ein statisches Feld oder eine Methode zugegriffen wird. Ein statisches Feld einer Schnittstelle ist mit einem deklarierenden Typnamen zu qualifizieren. |
Warnung |
Unqualifizierter Zugriff auf Exemplarfeld |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn er einen nicht qualifizierten Zugriff auf ein Feld feststellt (z. B. 'this' fehlt). |
Ignorieren |
Nicht dokumentierter leerer Block |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn die Anweisung eines leeren Blocks ohne erklärenden Kommentar gefunden wird. |
Ignorieren |
Zugriff auf ein nicht zugriffsfähiges Member eines einschließenden Typs |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er den Zugriff auf ein nicht zugriffsfähiges Member eines einschließenden Typs emuliert. Solche Zugriffe können Auswirkungen auf die Leistung beinhalten. |
Ignorieren |
Methoden mit einem Konstruktornamen |
Das Benennen einer Methode mit einem Konstruktornamen wird allgemein als schlechter Programmierstil betrachtet. Wird diese Option aktiviert, signalisiert der Compiler ein solches Szenario entweder als Fehler oder als Warnung. |
Warnung |
Verwendung von nicht ausgelagerten Zeichenfolgen |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht ausgelagertes Zeichenfolgeliteral aus (d. h. nicht mit dem Tag //$NON-NLS-<n>$ versehen). |
Ignorieren |
Serialisierbare Klasse ohne serialVersionUID |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn ein 'java.io.Serializable' implementierender Typ kein 'serialVersionUID'-Feld enthält. |
Warnung |
Zuordnung ist wirkungslos (z. B. 'x = x') |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine Zuordnung wirkungslos ist (z. B. 'x = x'). |
Warnung |
Mögliche zufällige Boolesche Zuordnung (z. B. 'if (a = b)') |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine mögliche zufällige Boolesche Zuordnung gefunden wird (z. B. 'if (a = b)'). |
Warnung |
Der 'finally'-Block wird nicht normal beendet. |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine 'finally'-Anweisung nicht normal beendet wird (z. B. eine return-Anweisung enthält). |
Warnung |
Leere Anweisung |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine leere Anweisung gefunden wird (z. B. ein nicht erforderliches Semikolon). |
Ignorieren |
Verwendung eines Zeichenbereichs in Verkettung von Zeichenfolgen |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn in Verkettungen von Zeichenfolgen ein Ausdruck 'char[]' verwendet wird, "hello" + new char[]{"w','o','r','l','d'}
|
Warnung |
Verdeckte CATCH-Blöcke |
Bei einer lokalen TRY-Anweisung können CATCH-Blöcke andere verdecken, z. B. try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}. Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für verdeckte CATCH-Blöcke entsprechend der überprüften Ausnahmebedingungen aus. |
Warnung |
Eine Felddeklaration verdeckt ein anderes Feld oder eine Variable. |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine Felddeklaration ein anderes übernommenes Feld verdeckt. |
Ignorieren |
Eine lokale Variablendeklaration verdeckt ein anderes Feld oder eine andere Variable. |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine lokale Variablendeklaration ein anderes Feld oder eine Variable verdeckt. |
Ignorieren |
Parameter für Konstruktor oder Setter-Methode einschließen |
Ist diese Option aktiviert, gibt der Compiler zusätzlich einen Fehler oder eine Warnung aus, wenn ein Konstruktor oder eine Setter-Methode ein anderes Feld oder eine Variable verdecken. |
Inaktiviert |
Ein Typparameter verdeckt einen anderen Typ. |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn z. B. ein Typparameter einer untergeordneten Klasse einen äußeren Typ verdeckt. |
Warnung |
Methoden überschrieben, jedoch kein Paket sichtbar |
Eine Standardmethode eines Pakets ist in einem anderen Paket nicht sichtbar und kann deshalb nicht überschrieben werden. Wird diese Option aktiviert, signalisiert der Compiler ein solches Szenario entweder als Fehler oder als Warnung. |
Warnung |
Konflikt zwischen Schnittstellenmethode und geschützter Methode 'Object' |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine Schnittstelle eine Methode definiert, die mit der Methode eines nicht übernommenen Objekts nicht kompatibel ist. Solange dieser Konflikt nicht aufgelöst ist, kann eine solche Schnittstelle nicht implementiert werden, z. B. interface I { int clone(); } |
Warnung |
Veraltete API |
Ist diese Option aktiviert, signalisiert der Compiler die Verwendung von herabgestufter API entweder als Fehler oder als Warnung. |
Warnung |
Verwendung von herabgestufter API in veraltetem Code melden |
Ist diese Option aktiviert, signalisiert der Compiler die Verwendung einer herabgestuften API innerhalb von veraltetem Code. Die Wertigkeit des Fehlers wird mit der Option 'Herabgestufte API' gesteuert. |
Inaktiviert |
Überschreibende oder implementierende veraltete Methode melden |
Ist diese Option aktiviert, meldet der Compiler das Überschreiben oder Implementieren einer veralteten Methode. Die Wertigkeit des Fehlers wird mit der Option 'Herabgestufte API' gesteuert. |
Inaktiviert |
Nicht zulässiger Verweis (Zugriffsregeln) |
Ist diese Option aktiviert, meldet der Compiler einen nicht zulässigen Verweis, der in den Zugriffsregeln angegeben ist. |
Fehler |
Nicht empfohlener Verweis (Zugriffsregeln) |
Ist diese Option aktiviert, meldet der Compiler einen nicht empfohlenen Verweis, der in den Zugriffsregeln angegeben ist. |
Warnung |
Die lokale Variable wird nie gelesen. |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine lokale Variable deklariert ist, jedoch nie innerhalb ihres Geltungsbereichs verwendet wird. |
Warnung |
Der Parameter wird nie gelesen. |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn ein Parameter deklariert ist, jedoch nie innerhalb ihres Geltungsbereichs verwendet wird. |
Ignorieren |
Überschreibende und implementierende Methoden prüfen |
Ist diese Option aktiviert, gibt der Compiler zusätzlich einen Fehler oder eine Warnung aus, wenn ein Parameter deklariert ist, jedoch nie innerhalb seines Geltungsbereichs in überschreibenden oder implementierenden Methoden verwendet wird. |
Inaktiviert |
Nicht verwendete Importe |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung für nicht verwendete Importverweise aus. |
Warnung |
Nicht verwendete lokale oder private Member |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn ein lokales oder privates Member deklariert ist, in derselben Einheit jedoch nie verwendet wird. |
Warnung |
Nicht erforderliche 'else'-Anweisung |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche 'else'-Anweisung gefunden wird (z. B. if (Bedingung) return; else doSomething();). |
Ignorieren |
Nicht erforderliche Umsetzung von Operation 'instanceof' |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche Umsetzung der Operation 'instanceof' gefunden wird (z. B. if (Object instanceof Object) return;). |
Ignorieren |
Nicht erforderliche Deklaration einer ausgelösten geprüften Ausnahmebedingung: |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche Deklaration einer ausgelösten Ausnahmebedingung gefunden wird. |
Ignorieren |
Überschreibende und implementierende Methoden prüfen |
Ist diese Option aktiviert, gibt der Compiler zusätzlich einen Fehler oder eine Warnung aus, wenn eine nicht erforderliche Deklaration einer ausgelösten Ausnahmebedingung in einer überschreibenden oder implementierenden Methode gefunden wird. |
Inaktiviert |
Nicht überprüfte generische Typoperation |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine nicht überprüfte generische Typoperation gefunden wird. |
Warnung |
Generischer, mit finaler Typenbindung deklarierter Typparameter |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn ein generischer, mit finaler Typenbindung deklarierter Typparameter gefunden wird. |
Warnung |
Ungenaue Typübereinstimmung für Vararg-Argumente |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn eine ungenaue Typübereinstimmung für Vararg-Argumente gefunden wird. |
Warnung |
Umsetzungskonventionen (boxing und unboxing) |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn Umsetzungskonventionen (boxing und unboxing) gefunden werden. 'Autoboxing' kann die Leistung nachteilig beeinflussen. |
Ignorieren |
Anmerkung des Typs '@Override' fehlt |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn er eine Methode feststellt, die eine andere implementierte Methode überschreibt, und die Anmerkung des Typs '@Override' fehlt. |
Ignorieren |
Anmerkung des Typs '@Deprecated' fehlt |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er einen veralteten Typ ohne die zusätzliche Anmerkung des Typs '@Deprecated' feststellt. |
Ignorieren |
Anmerkung wird als Superschnittstelle verwendet |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn er einen Typ feststellt, der eine Anmerkung implementiert. Obwohl möglich, wird dies als schlechte Praktik betrachtet. |
Warnung |
Nicht alle Aufzählungskonstanten bei 'switch' abgedeckt |
Ist diese Option aktiviert, gibt der Compiler einen Fehler oder eine Warnung aus, wenn eine 'Switch'-Anweisung gefunden wird, die nicht eine case-Anweisung für jede Aufzählungskonstante der betreffenden Aufzählung enthält. |
Ignorieren |
Nicht verarbeitete Warnungstoken in '@SuppressWarnings' |
Ist diese Option aktiviert, gibt der Compiler immer dann einen Fehler oder eine Warnung aus, wenn ein nicht verarbeiteter Warnungstoken in einer Anmerkung des Typs '@SuppressWarnings' gefunden wird. |
Warnung |
Anmerkungen des Typs '@SuppressWarnings' aktivieren |
Ist diese Option aktiviert, verarbeitet der Compiler Anmerkungen des Typs '@SuppressWarnings'. |
Aktiviert |
Java-Programm erstellen
Mit Erstellungspfaden arbeiten
Mit JREs arbeiten
Benutzervorgaben für Klassenpfadvariablen
Java-Erstellungspfad - Eigenschaften