Kompilátor jazyka Java

Tato stránka předvoleb vám umožní konfigurovat různá nastavení související s kompilováním, sestavováním a kontrolou zdrojového kódu Java.

Předvolby kompilátoru Java jsou rozděleny do následujících sekcí:

Obecné

Shoda JDK

Volba

Popis

Výchozí

Úroveň shody kompilátoru

Určuje úroveň shody kompilátoru.

1.4

Použít výchozí nastavení shody

Při použití této volby se pro úroveň shody kompilátoru používají výchozí nastavení shody.

Zapnout

Kompatibilita generovaných souborů tříd

Určuje kompatibilitu generovaných souborů třídy.

1.2

Kompatibilita zdroje

Určuje kompatibilitu přijatého zdrojového kódu.

1.3

Nepovolit identifikátory volané 'assert'

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení nebo varování vždy při použití výrazu 'assert' ve funkci identifikátoru (vyhrazené klíčové slovo v J2SE 1.4).

Varování

Zakázat identifikátory s názvem 'enum'

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení nebo varování vždy při použití výrazu 'enum' ve funkci identifikátoru (vyhrazené klíčové slovo v J2SE 5.0).

Varování

Generování souboru třídy

Přidat atributy proměnných k vygenerovaným souborům tříd

Pokud je tato volba zapnutá, přidají se do souboru třídy atributy proměnných. To umožní zobrazení názvů lokálních proměnných v ladicím programu (kam jsou proměnné definitivně přiřazeny). Výsledný soubor .class je potom větší.

Zapnout

Přidat atributy čísel řádků k vygenerovaným souborům tříd

Pokud je tato volba zapnutá, přidají se do souboru třídy informace o číslech řádků. To umožní zvýrazňovat v ladicím programu zdrojový kód.

Zapnout

Přidat název zdrojového souboru k vygenerovanému souboru třídy

Pokud je tato volba zapnutá, přidá se do souboru třídy název zdrojového souboru. To ladicímu programu umožňuje zobrazovat příslušný zdrojový kód.

Zapnout

Zachovat nepoužité lokální proměnné

Pokud je tato volba zapnutá, potom se nepoužité lokální proměnné (tj. nikdy nečtené) ze souboru třídy neodstraňují. Případné odstranění může pozměnit ladění programu.

Zapnout

Vložit bloky finally

Při použití této volby jsou bloky finally zařazeny do vygenerovaných souborů tříd. To má pozitivní vliv na výkon, ale může mít za důsledek větší soubory tříd.

Vypnout

Sestavení

Obecné

Volba

Popis

Výchozí

Maximální počet hlášených problémů na kompilační jednotku

Určuje, kolik problémů má být hlášeno na jednu kompilační jednotku.

100

Zpřístupnit použití vzorů pro vyloučení ve zdrojových složkách

Pokud je tato volba vypnutá, nelze žádnou z položek cesty ke třídě projektu přiřadit ke vzoru pro vyloučení.

Zapnout

Zpřístupnit použití několika výstupních umístění pro zdrojové složky

Pokud je tato volba vypnutá, nelze žádnou z položek cesty ke třídě projektu přiřadit k určitému výstupnímu umístění, čímž je zamezeno použití více výstupních umístění.

Zapnout

Problémy cesty sestavení

Předčasně ukončit sestavení v případě chyb cesty sestavení

Umožňuje přepnout tvůrce, aby sestavení předčasně ukončil, není-li cesta sestavení platná.

Zapnout

Nekompletní cesta sestavení

Určuje závažnost problému zobrazovaného v případě, že neexistuje, není oprávněná nebo není zobrazena určitá položka v cestě ke třídě (např. není otevřen odkazovaný objekt).

Chyba

Kruhové závislosti

Určuje závažnost problému signalizovaného v případě, že je projekt součástí cyklu.

Chyba

Nekompatibilní nezbytné binární soubory

Indikuje závažnost problému signalizovaného v případě, že projekt vyžaduje nekompatibilní binární soubory.

Ignorovat

Výstupní složka

Duplicitní prostředky

Indikuje závažnost problému signalizovaného v případě, že se do výstupního umístění má okopírovat více než jeden výskyt prostředku.

Varování

Vyčistit výstupní složky při čištění projektů

Určuje, zda má Tvůrce Java povoleno čistit výstupní složky při provádění úplného sestavení.

Zapnout

Filtrované prostředky

Seznam navzájem čárkami oddělených vzorů souboru, které se nekopírují do výstupní složky. 

''

Chyby/varování

Styl kódu

Volba

Popis

Výchozí

Nestatický přístup ke statickému členu

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při přístupu do statického pole nebo metody s použitím zásobníku výrazu. Odkaz na statický člen by měl být kvalifikován názvem typu.

Varování

Nepřímý přístup ke statickému členu

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při nepřímém přístupu do statického pole nebo metody. Statické pole rozhraní by mělo být provedeno s použitím názvu deklarujícího typu.

Varování

Nekvalifikovaný přístup k poli

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu přístupu k poli, které není kvalifikováno (např. chybí 'this').

Ignorovat

Nedokumentovaný prázdný blok

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu příkazu prázdného bloku bez vysvětlující poznámky.

Ignorovat

Přístup k nepřístupnému členu zapouzdřujícího typu

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při emulaci přístupu k nepřístupnému členu zapouzdřujícího typu. Takovéto přístupy mohou mít dopad na výkon.

Ignorovat

Metody s názvem konstruktoru

Pojmenování metody názvem konstruktoru je obecně považováno za nesprávný styl programování. Použijete-li tuto volbu, bude kompilátor při rozpoznání tohoto scénáře vytvářet chybové hlášení nebo varování.

Varování

Použití řetězců bez externalizace

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení nebo varování pro neexternalizované řetězcové literály (tj. neoznačený značkou //$NON-NLS-<n>$). 

Ignorovat

Potenciální problémy programování

Serializovatelná třída postrádá serialVersionUID

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy, když typ implementující 'java.io.Serializable' neobsahuje pole serialVersionUID.

Varování

Přiřazení nemá žádný efekt (např. 'x = x')

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy, když přiřazení nemá žádný efekt (např. 'x = x').

Varování

Možné náhodné přiřazení logické hodnoty (např. 'if (a = b)')

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při možném náhodném přiřazení logické hodnoty (např. 'if (a = b)').

Varování

Část 'finally' není ukončena obvyklým způsobem

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při neobvyklém ukončení příkazu 'finally' (např. obsahuje příkaz return).

Varování

Prázdný příkaz

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu prázdného příkazu (např. nadbytečného středníku).

Ignorovat

Použití pole char ve zřetězení řetězce

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při použití výrazu char[] ve spojování řetězců ,např.

"hello" + new char[]{'w','o','r','l','d'}

Varování

Skrytý zachytávací blok

V rámci příkazu try mohou být některé bloky příkazu catch skrývány jinými bloky catch, např.

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování pro skryté bloky příkazu catch podle potvrzených výjimek.

Varování

Stínění a konflikty názvů

Deklarace pole skrývá jiné pole nebo proměnnou

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování, pokud deklarace pole skrývá jiné zděděné pole.

Ignorovat

Deklarace lokální proměnné skrývá jiné pole nebo proměnnou

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení či varování, pokud deklarace lokální proměnné skrývá jiné pole nebo proměnnou.

Ignorovat

Zahrnout konstruktor nebo parametry metody Setter

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení nebo varování, pokud konstruktor nebo parametr metody setter skrývá jiné pole nebo proměnnou.

Vypnout

Parametr typu skrývá jiný typ

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení či varování, pokud např. parametr typu vnitřní třídy skryje vnější typ.

Varování

Potlačené metody, ale neviditelné v balíčku

Výchozí metoda balíčku se nezobrazuje v jiném balíčku, a proto ji nelze potlačit. Použijete-li tuto volbu, bude kompilátor při rozpoznání tohoto scénáře vytvářet chybové hlášení nebo varování.

Varování

Konflikt metody rozhraní s chráněnou metodou 'Object'

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy, když bude rozhraní definovat metodu nekompatibilní s metodou nezděděného objektu. Dokud nebude tento konflikt vyřešen, nelze takové rozhraní implementovat, např.

rozhraní I {
   int clone();
}

Varování

Stínění a konflikty názvů

Nepřípustné rozhraní API

Použijete-li tuto volbu, kompilátor při použití nepřípustného rozhraní API vytvoří chybové hlášení nebo varování.

Varování

Použití signálu nepřípustného rozhraní API uvnitř nepřípustného kódu

Použijete-li tuto volbu, kompilátor bude signalizovat použití nepřípustného rozhraní API uvnitř nepřípustného kódu. Závažnost problému se řídí volbou "Nepřípustné rozhraní API".

Vypnout

Signál potlačující nebo implementující nepřípustnou metodu

Použijete-li tuto volbu, kompilátor bude signalizovat potlačení nebo implementaci nepřípustné metody Závažnost problému se řídí volbou "Nepřípustné rozhraní API".

Vypnout

Zakázaný odkaz (pravidla přístupu)

Použijete-li tuto možnost, kompilátor bude signalizovat zakázaný odkaz uvedený v pravidlech přístupu.

Chyba

Nevhodný odkaz (pravidla přístupu)

Použijete-li tuto možnost, kompilátor bude signalizovat nevhodný odkaz uvedený v pravidlech přístupu.

Varování

Nadbytečný kód

Lokální proměnná se nikdy nečte

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při deklaraci lokální proměnné, pokud není použita v rámci rozsahu své platnosti.

Varování

Parametr se nikdy nečte

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při deklarovaném parametru, pokud není použit v rámci svého rozsahu platnosti.

Ignorovat

Zkontrolovat metody zajišťující potlačení a implementaci

Použijete-li tuto volbu, kompilátor bude navíc vytvářet chybové hlášení nebo varování vždy při deklarovaném parametru, pokud není použit v rámci svého rozsahu platnosti v metodách potlačení nebo implementace.

Vypnout

Nepoužívané importy

Použijete-li tuto volbu, kompilátor bude pro nepoužitý odkaz importu vytvářet chybové hlášení nebo varování.

Varování

Nepoužívané lokální nebo soukromé členy

Použijete-li tuto volbu, kompilátor bude vytvářet chybové hlášení nebo varování vždy při deklaraci lokálního nebo soukromého členu, pokud tento prvek není v této jednotce použit.

Varování

Zbytečný příkaz else

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu zbytečného příkazu else (např. if (condition) return; else doSomething();).

Ignorovat

Zbytečné přetypování nebo operace 'instanceof'

Použijete-li tuto metodu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu zbytečného přetypování nebo operace 'instanceof' (např. if (object instanceof Object) return;).

Ignorovat

Nadbytečná deklarace vyhozené kontrolované výjimky

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nadbytečné deklarace vyhozené kontrolované výjimky.

Ignorovat

Zkontrolovat metody zajišťující potlačení a implementaci

Použijete-li tuto volbu, kompilátor bude navíc vytvářet chybová hlášení nebo varování vždy při výskytu nadbytečné deklarace vyhozené kontrolované výjimky v metodě zajišťující potlačení nebo implementaci.

Vypnout

Volby J2SE 5.0

Nekontrolovaná operace s generickým typem

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nekontrolované operace s generickým typem.

Varování

Je deklarován generický typový parametr s konečnou typovou vazbou

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu typové vazby zahrnující konečný typ.

Varování

Nepřesná shoda typu pro argumenty vararg

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nepřesné shody typu pro argumenty vararg.

Varování

Konverze uzavírání a otevírání

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu konverze uzavírání a otevírání. Automatické uzavírání může mít negativní dopad na výkon.

Ignorovat

Chybí anotace '@Override'

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu metody potlačující jinou implementovanou metodu a pokud chybí anotace '@Override'.

Ignorovat

Chybí anotace '@Deprecated'

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu nepřípustného typu bez dodatečné anotace '@Deprecated'.

Ignorovat

Anotace se používá jako superrozhraní

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu typu implementujícího anotaci. Ačkoli je to možné, je to považováno za nesprávný postup.

Varování

Příkaz 'switch' nepokrývá všechny výčtové konstanty

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu příkazu switch, který neobsahuje příkazy case pro všechny výčtové konstanty odkazovaného výčtu.

Ignorovat

Neošetřené tokeny varování v '@SuppressWarnings'

Použijete-li tuto volbu, kompilátor bude vytvářet chybová hlášení či varování vždy při výskytu neošetřeného tokenu varování v anotaci '@SuppressWarnings'.

Varování

Zpřístupnit anotace '@SuppressWarnings'

Použijete-li tuto volbu, kompilátor bude zpracovávat anotace '@SuppressWarnings'.

Zapnout

Související pojmy

Tvůrce Java

Související úlohy

Sestavení programu Java
Práce s cestami sestavení
Práce s JRE

Související odkazy

Předvolby proměnných cesty ke třídě
Vlastnosti cesty sestavení Java