Java fordító

Ezen a beállításoldalon adhatja meg a fordítással, a Java forráskód összeépítésével és ellenőrzésével kapcsolatos különböző beállításokat.

A Java fordító beállítások az alábbi fejezetekre vannak osztva:

Általános

JDK megfelelés

Beállítás

Leírás

Alapértelmezés

Fordító egyeztetési szintje

Megadja a fordító egyeztetési szintjét.

1.4

Alapértelmezett egyeztetési beállítások használata

Ha engedélyezve van, akkor a fordító egyeztetési szintjének alapértelmezett beállításait használja.

Be

Előállított osztályfájlok kompatibilitása

Az előállított osztályfájlok kompatibilitását határozza meg.

1.2

Forráskompatibilitás

Az elfogadott forráskód kompatibilitását határozza meg.

1.3

Az 'assert' nevű azonosítók tiltása

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha az 'assert' kulcsszó azonosítóként van használva.

Figyelmeztetés

Az 'enum' nevű azonosítók tiltása

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha az 'enum' kulcsszó azonosítóként van használva (a J2SE 5.0 verzióban fenntartott kulcsszó).

Figyelmeztetés

Osztályfájl előállítása

Változók attribútumainak hozzáadása az előállított osztályfájlokhoz

Ha engedélyezett, akkor a változók attribútumai hozzáadódnak az osztályfájlhoz. Ez lehetővé teszi a helyi változók megjelenítését a hibakeresőben (azokon a helyeken, ahol egyértelműen változó van hozzárendelve). Az eredményül kapott .class fájl nagyobb lesz.

Be

Sorszám attribútumainak hozzáadása az előállított osztályfájlokhoz

Ha engedélyezett, akkor a sorszámok attribútumai hozzáadódnak az osztályfájlhoz. Ez lehetővé teszi a forráskód kiemelését a hibakeresőben.

Be

Forrásfájl nevének hozzáadása az előállított osztályfájlhoz

Ha engedélyezett, akkor a forrásfájl neve hozzáadódik az osztályfájlhoz. Ez lehetővé teszi, hogy a hibakereső megjelenítse a vonatkozó forráskódot.

Be

Nem használt helyi változók megtartása

Ha engedélyezett, akkor a használaton kívüli (tehát soha nem olvasott) helyi változók megmaradnak az osztályfájlban. Az eltávolításuk hatással lehet a hibakeresésre.

Be

Finally blokkok beemelése

Ha engedélyezett, akkor az előállított osztályfájlokba finally blokkok kerülnek beemelésre. Ez pozitívan befolyásolja a teljesítményt, de nagyobb osztályfájlokat eredményezhet.

Ki

Összeépítés

Általános

Beállítás

Leírás

Alapértelmezés

Fordítási egységenként jelentett problémák maximális száma

Azt adja meg, hogy agy fordítási egységnél hány problémát lehet jelenteni.

100

Kizárási minták használatának engedélyezése forrásmappákban

Ha letiltott, akkor a projekt osztályútvonalának bejegyzéseit nem lehet kizárási mintával társítani.

Be

Több kimeneti hely használatának engedélyezése forrásmappákhoz

Ha letiltott, akkor a projekt osztályútvonalának bejegyzéseit nem lehet adott kimeneti helyhez társítani, így megakadályozza a többszörös kimeneti helyek használatát.

Be

Összeépítési útvonal problémák

Összeépítés megszakítása az összeépítési útvonal hibái esetén

Lehetővé teszi az összeépítőnek, hogy megszakításra kapcsoljon át, ha az osztályútvonal érvénytelen.

Be

Hiányos összeépítési útvonal

A jelentett probléma súlyosságát jelzi, amikor az osztályútvonal egyik bejegyzése nem létezik, nem szabályszerű vagy nem látható (pl. egy hivatkozott projekt le van zárva).

Hiba

Körkörös függőségek

A jelentett probléma súlyosságát jelzi, amikor a projekt érintett egy ciklusban.

Hiba

Nem kompatibilis kötelező binárisok

Megmutatja annak a problémának a súlyosságát, amiről a rendszer akkor ad jelentést, amikor egy projekt nem kompatibilis binárisokat igényel.

Mellőz

Kimeneti mappa

Többszörös erőforrások

A jelentett probléma súlyosságát jelzi, amikor egy erőforrás előfordulása többször is átmásolódna a kimeneti helyre.

Figyelmeztetés

Kimeneti mappák tisztítása projektek takarításakor

Jelzi, hogy a Java összeépítőnek teljes összeépítés műveletek végzésekor van-e engedélye a kimeneti mappák kitisztítására.

Be

Szűrt erőforrások

Vesszővel elválasztott lista azokról a fájlmintákról, melyek nem másoldandóak a kimeneti mappába. 

''

Hibák/Figyelmeztetések

Kódstílus

Beállítás

Leírás

Alapértelmezés

Nem statikus hozzáférés egy statikus taghoz

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy statikus mezőhöz vagy metódushoz hozzáférése kifejezésfogadóval történik. Egy statikus tagra vonatkozó hivatkozást típusnévvel kell képezni.

Figyelmeztetés

Közvetett hozzáférés egy statikus taghoz

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor egy statikus mezőhöz vagy metódushoz közvetetten történik hozzáférés. Egy felület statikus mezőjét a deklaráló típusnévvel kell minősíteni.

Figyelmeztetés

Minősítetlen hozzáférés példánymezőhöz

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy mező hozzáférés nem minősített (pl. kihagy egy 'this' kulcsszót).

Mellőz

Nem dokumentált üres blokk

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor magyarázó megjegyzések nélküli üres utasítással találkozik.

Mellőz

Hozzáférés beágyazó típus nem hozzáférhető tagjához

Ha engedélyezett, akkor a fordító hibát vagy figyelmeztetést jelez, amikor egy beágyazó típus nem hozzáférhető tag hozzáférését emulálja. Az ilyen hozzáférések befolyásolhatják a teljesítményt.

Mellőz

Konstruktornevet viselő metódusok

Egy metódus konstruktornévvel elnevezése általában szegényes programozási stílusra utal. Ha a beállítás engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ilyen szituációkat.

Figyelmeztetés

Külsőleg nem elérhetővé tett karaktersorozatok használata

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi a külsőleg elérhetővé nem tett karaktersorozat literálokat (azokat, amelyek nincsenek felcímkézve a //$NON-NLS-<n>$ jelölővel). 

Mellőz

Lehetséges programozási problémák

Szerializálható osztály serialVersionUID nélkül

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha 'java.io.Serializable' csomagot megvalósító típus nem tartalmazza a serialVersionUID mezőt.

Figyelmeztetés

A hozzárendelésnek nincs hatása (pl. 'x = x')

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy hozzárendelésnek nincs hatása (pl. 'x = x').

Figyelmeztetés

Lehetséges véletlen logikai típus hozzárendelés (pl. 'if (a = b)')

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha lehetséges véletlen logikai hozzárendeléssel találkozik (pl. 'if (a = b)').

Figyelmeztetés

A 'finally' blokk nem normálisan fejeződik be

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy 'finally' utasítás nem normálisan végződik (pl. return utasítást tartalmaz).

Figyelmeztetés

Üres utasítás

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha üres utasítással találkozik (pl. egy felesleges pontosvesszővel).

Mellőz

Char tömb használata karaktersorozat összefűzésénél

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha karaktersorozat összefűzésénél egy char[] kifejezést használ:

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

Figyelmeztetés

Rejtett elfogási blokkok

Try utasításnál néhány elfogási blokk helyben elrejthet más blokkokat, pl.

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

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ellenőrzött kifejezésekkel egyező elfogási blokkok elrejtését.

Figyelmeztetés

Névárnyékolás és ütközések

A mező deklaráció más mezőt vagy változót rejt

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy mező deklaráció elrejt egy másik örökölt mezőt.

Mellőz

Helyi változó deklaráció más mezőt vagy változót rejt

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy helyi változó deklaráció elrejt egy másik mezőt vagy változót.

Mellőz

Konstruktor vagy beállító metódus paraméterek tartalmazása

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy konstruktor vagy beállító metódus paraméter elrejt egy másik mezőt vagy változót.

Ki

Típus paraméter másik típust rejt

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha pl. egy belső osztály típus paramétere elrejt egy külső típust.

Figyelmeztetés

Újradefiniált metódusok látható csomag nélkül

Egy csomag alapértelmezett metódusa nem látható egy másik csomagban, így nem lehet újradefiniálni. Ha a beállítás engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi az ilyen szituációkat.

Figyelmeztetés

Felület metódus konfliktusa védett 'Objektum' metódussal

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi, ha egy felület egy nem örökölt objektum metódussal inkompatibilis metódust határoz meg. A konfliktus feloldásáig az ilyen felületet nem lehet megvalósítani, pl.

interface I {
   int clone();
}

Figyelmeztetés

Névárnyékolás és ütközések

Elavult API

Ha engedélyezve van, akkor a fordító hiba- vagy figyelmeztetésjelzést ad az elavult API-k használatakor.

Figyelmeztetés

Elavult API elévült kódban alkalmazásának jelzése

Ha engedélyezve van, akkor a fordító jelzi az elavult API elavult kódban történő használatát. A probléma fontosságát az "Elavult API" beállításnál adhatja meg.

Ki

Elavult metódus újradefiniálásának vagy megvalósításának jelzése

Engedélyezésekor a fordító jelzi az elavult metódus újradefiniálását vagy megvalósítását. A probléma fontosságát az "Elavult API" beállításnál adhatja meg.

Ki

Tiltott hivatkozások (hozzáférési szabályok)

Engedélyezésével a fordító jelzi a hozzáférési szabályokban megadott tiltott hivatkozást.

Hiba

Nem javasolt hivatkozás (hozzáférési szabályok)

Engedélyezésével a fordító jelzi a hozzáférési szabályokban megadott nem javasolt hivatkozást.

Figyelmeztetés

Szükségtelen kód

Sohasem olvassa a helyi változót

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan helyi változó kerül deklarálásra, amit soha nem használ az egység.

Figyelmeztetés

Sohasem olvassa a paramétert

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan paraméter kerül deklarálásra, amit soha nem használ az egység.

Mellőz

Újradefiniáló és megvalósító metódusok ellenőrzése

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan paraméter kerül deklarálásra, amit soha nem használ az egység újradefiniáló vagy megvalósító metódusokban.

Ki

Nem használt importálások

Ha engedélyezve van, akkor a fordító hibaként vagy figyelmeztetésként jelzi a használaton kívüli importálási hivatkozásokat.

Figyelmeztetés

Nem használt helyi vagy privát tagok

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor olyan helyi vagy privát tag kerül deklarálásra, amit soha nem használ az egység.

Figyelmeztetés

Szükségtelen else utasítás

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha szükségtelen else utasítással találkozik (pl. if (condition) return; else doSomething();).

Mellőz

Szükségtelen típusmódosítás vagy 'instanceof' művelet

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha szükségtelen cast vagy 'instanceof' művelettel találkozik (pl. if (object instanceof Object) return;).

Mellőz

Megtörtént kivétel szükségtelen deklarációja

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor megtörtént kivétel szükségtelen deklarációjával találkozik.

Mellőz

Újradefiniáló és megvalósító metódusok ellenőrzése

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor megtörtént kivétel szükségtelen deklarációjával találkozik újradefiniáló vagy megvalósító metódusban.

Ki

J2SE 5.0 beállítások

Nem ellenőrzött általános típus művelet

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor nem ellenőrzött általános típus művelettel találkozik.

Figyelmeztetés

Általános típus paraméter végleges típus határral deklarálva

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor végleges határt magába foglaló típus határral találkozik.

Figyelmeztetés

Vararg argumentumok nem pontos típus egyezése

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor vararg argumentumok nem pontos típus egyezésével találkozik.

Figyelmeztetés

Típusátalakítások és -visszaalakítások

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor típusátalakítással vagy -visszaalakítással találkozik. Az automatikus típusátalakítás negatív hatással lehet a teljesítményre.

Mellőz

Hiányzó '@Override' feljegyzés

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha egy másik, megvalósított metódust újradefiniáló metódussal találkozik,és hiányzik az '@Override' feljegyzés.

Mellőz

Hiányzó '@Deprecated' feljegyzés

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor kiegészítő '@Deprecated' feljegyzés nélküli elavult típussal találkozik.

Mellőz

Felső szintű felületként használt feljegyzés

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor típus megvalósító feljegyzéssel találkozik. Bár lehetséges, ez nem javasolt gyakorlatnak minősül.

Figyelmeztetés

A 'switch' nem kezeli az összes enum konstanst

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, ha olyan switch utasítással találkozik, amely nem tartalmaz case utasításokat a hivatkozott enum minden enum konstansához.

Mellőz

Kezeletlen figyelmeztetés jelsorok a '@SuppressWarnings' feljegyzésben

Engedélyezésével a fordító hibát jelez vagy figyelmeztetést ad, amikor kezeletlen figyelmeztetés jel sorral találkozik '@SuppressWarnings' feljegyzésben.

Figyelmeztetés

'@SuppressWarnings' feljegyzések engedélyezése

Engedélyezése után a fordító feldolgozza a '@SuppressWarnings' feljegyzéseket.

Be

Kapcsolódó fogalmak

Java összeépítő

Kapcsolódó feladatok

Java program összeépítése
Összeépítési útvonalak kezelése
JRE-k kezelése

Kapcsolódó leírás

Osztályútvonal változók beállításai
Java összeépítési útvonal tulajdonságai