Compilatore Java

Questa pagina delle preferenze consente di configurare diverse impostazioni relative alla compilazione, la generazione e la verifica del codice di origine Java.

Le preferenze del compilatore Java sono divise nelle seguenti sezioni:

Generale

Conformità JDK

Opzione

Descrizione

Predefinito

Livello di conformità del compilatore

Specifica il livello di conformità del compilatore.

1.4

Utilizza le impostazioni di compatibilità predefinite

Se si attiva questa opzione, verranno applicate le impostazioni di compatibilità predefinite del livello di compatibilità del compilatore.

Attivo

Compatibilità file di classe generati

Specifica la compatibilità dei file di classi generati.

1.2

Compatibilità origine

Specifica la compatibilità del codice di origine accettato.

1.3

Vieta identificativi chiamati 'assert'

Se si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che 'assert' viene utilizzata come identificativo (parola chiave riservata in J2SE 1.4).

Avviso

Vieta identificativi chiamati 'enum'

Se si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che 'enum' viene utilizzata come identificativo (parola chiave riservata in J2SE 5.0).

Avviso

Generazione file di classe

Aggiungi gli attributi di variabile per creare file di classe

Se si attiva questa opzione, gli attributi di variabile vengono aggiunti al file di classe. Questo consentirà la visualizzazione dei nomi delle variabili locali nel debugger (nelle posizioni in cui le variabili sono state assegnate definitivamente). Il file .class risultante assumerà quindi dimensioni maggiori.

Attivo

Aggiungi gli attributi di riga per creare file di classe

Se si attiva questa opzione, le informazioni sui numeri di riga vengono aggiunte al file di classe. Questo consentirà l'evidenziazione del codice origine nel debugger.

Attivo

Aggiungi nome file di origine al file di classe generato

Se si attiva questa opzione, il nome del file di origine viene aggiunto al file di classe. Questo consentirà al debugger di presentare il codice origine corrispondente.

Attivo

Conserva variabili locali non utilizzate

Se si attiva questa opzione, le variabili locali non utilizzate (quelle cioè mai lette) non verranno estratte dal file di classe. L'estrazione di tali variabili può alterare il debug.

Attivo

Blocchi finali incorporati

Se questa opzione è abilitata, i blocchi finali vengono incorporati nei file di classe generati. Le prestazioni migliorano, ma i file di classe risulteranno più grandi.

Disattivo

Generazione

Generale

Opzione

Descrizione

Predefinito

Numero massimo di problemi riportati per unità di compilazione

Specifica quanti problemi devono essere riportati per un'unità di compilazione.

100

Abilita l'esclusione dei modelli nelle cartelle di origine

Quando l'opzione è disabilitata, nessuna voce del percorso classi di un progetto può essere associata a un modello di esclusione.

Attivo

Abilita l'utilizzo di più percorsi di output per le cartelle di origine

Quando l'opzione è disabilitata, nessuna voce del percorso classi di un progetto può essere associata a un percorso di output specifico, impedendo così l'utilizzo di più percorsi di output.

Attivo

Problemi del percorso di generazione

Interrompi la generazione in caso di errori nel percorso di generazione

Indica al generatore di eseguire l'interruzione se il percorso classi non è valido.

Attivo

Percorso di generazione incompleto

Indica la gravità del problema riportato quando una voce non esiste nel percorso classi, non è legittimata o non è visibile (ad esempio con un progetto di riferimento chiuso).

Errore

Dipendenze circolari

Indica la gravità del problema riportato quando un progetto è inserito in un ciclo.

Errore

File binari richiesti non compatibili

Indica la gravità del problema riportato quando un progetto richiede binari incompatibili.

Ignora

Cartella di output

Risorse duplicate

Indica la gravità del problema riportato quando più ricorrenze di una risorsa devono essere copiate nel percorso di output.

Avviso

Ripulisci cartelle di output durante la cancellazione dei progetti

Indica se il generatore Java può eseguire o meno la ripulitura delle cartelle di output quando esegue le operazioni di generazione completa.

Attivo

Risorse filtrate

Elenco separato da virgola di modelli di file non copiati nella cartella di output. 

''

Errori/Avvisi

Stile codice

Opzione

Descrizione

Predefinito

Accesso non-statico ad un membro static

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che si accede a un campo o a un metodo static con un ricevitore di espressione. Un riferimento ad un membro static dovrebbe essere qualificato con un nome di tipo.

Avviso

Accesso indiretto ad un membro static

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che si accede indirettamente a un campo statico. Un campo statico di un'interfaccia deve essere qualificato con il nome di tipo dichiarante.

Avviso

Accesso non qualificato a un campo di istanza

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando rileva un accesso a un campo non qualificato (ad esempio se manca 'this').

Ignora

Blocco vuoto non documentato

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata un'istruzione di blocco vuota senza commento esplicativo.

Ignora

Accesso ad un membro non accessibile di un tipo di inclusione

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che emula l'accesso a un membro non accessibile di un tipo di inclusione. Tali accessi possono incidere sulle prestazioni.

Ignora

Metodi con un nome di costruttore

Assegnare a un metodo il nome di un costruttore viene considerata una strategia di programmazione poco valida. Quando si attiva questa opzione, il compilatore segnalerà la situazione come un errore o un avviso.

Avviso

Utilizzo di stringhe non esternalizzate

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per le variabili letterali non esternalizzate (cioè non contrassegnate dal tag //$NON-NLS-<n>$). 

Ignora

Problemi potenziali di programmazione

Classe serializzabile senza serialVersionUID

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando un tipo che implementa 'java.io.Serializable' non contiene il campo serialVersionUID.

Avviso

L'assegnazione non ha effetto (ad esempio, 'x = x')

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un'assegnazione non produce alcun effetto (ad esempiox = x').

Avviso

Possibile assegnazione booleana accidentale (ad esempio, 'if (a = b)')

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso se rileva una possibile assegnazione booleana accidentale (ad esempio'if (a = b)').

Avviso

'finally' completato in modo anomalo

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando un'istruzione 'finally' viene completata in modo anomalo (ad esempio, se contiene un'istruzione return).

Avviso

Istruzione vuota

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata un'istruzione vuota senza commento (ad esempio, un punto e virgola superfluo).

Ignora

Utilizzo di una matrice di caratteri nella concatenazione della stringa

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un'espressione char [] viene utilizzata nelle concatenazioni di stringhe,

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

Avviso

Blocco catch nascosto

Vicino a un'istruzione try, alcuni blocchi catch potrebbero nasconderne altri, ad esempio

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

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per i blocchi catch nascosti corrispondenti alle eccezioni controllate.

Avviso

Ostruzioni e conflitti di nome

La dichiarazione di campo nasconde un altro campo o variabile

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso se una dichiarazione di campo nasconde un altro campo ereditato.

Ignora

La dichiarazione di variabile locale nasconde un altro campo o variabile

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso se una dichiarazione di variabile locale nasconde un altro campo o nasconde un altro campo o un'altra variabile.

Ignora

Includi costruttore oppure i parametri del metodo setter

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso se un costruttore o un parametro del metodo setter nasconde un altro campo o un'altra variabile.

Disattivo

Il parametro tipo nasconde un altro tipo

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso se un parametro tipo o una classe interna nasconde un tipo esterno.

Avviso

Metodi sostituiti ma pacchetto non visibile

Il metodo predefinito di un pacchetto non è visibile in un pacchetto diverso e quindi non può essere sostituito. Quando si attiva questa opzione, il compilatore segnalerà la situazione come un errore o un avviso.

Avviso

Conflitto tra il metodo dell'interfaccia e il metodo 'Object' protetto

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un'interfaccia definisce un metodo incompatibile con un metodo Object non ereditato. Fino a quando il conflitto non viene risolto, l'interfaccia non può essere implementata, ad esempio

interface I {
   int clone();
}

Avviso

Ostruzioni e conflitti di nome

API obsoleta

Quando si attiva questa opzione, il compilatore segnalerà l'uso di una tale API come un errore o un avviso.

Avviso

Segnala utilizzo di un'API obsoleta nel codice obsoleto

Quando si attiva questa opzione, il compilatore segnalerà l'uso di una tale API all'interno di un codice obsoleto. La gravità del problema è controllata dall'opzione "API obsoleta".

Disattivo

Segnala sovrascrittura o implementazione di un metodo obsoleto

Quando si attiva questa opzione, il compilatore segnalerà una sovrascrittura o un'implementazione di un metodo obsoleto. La gravità del problema è controllata dall'opzione "API obsoleta".

Disattivo

Riferimento proibito (regole di accesso)

Quando si attiva questa opzione, il compilatore segnalerà un riferimento proibito specificato nelle regole di accesso.

Errore

Riferimento sconsigliato (regole di accesso)

Quando si attiva questa opzione, il compilatore segnalerà un riferimento sconsigliato specificato nelle regole di accesso.

Avviso

Codice non necessario

Variabile locale mai letta

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando una variabile locale è dichiarata ma non è mai utilizzata nel rispettivo ambito.

Avviso

Parametro mai letto

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando un parametro locale è dichiarato ma non è mai utilizzato nel rispettivo ambito.

Ignora

Verifica metodi di sovrascrittura e implementazione

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando un parametro locale è dichiarato ma non è mai utilizzato nel rispettivo ambito nella sostituzione o nell'implementazione dei metodi.

Disattivo

Importazioni non utilizzate

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso per il riferimento a importazioni non utilizzate.

Avviso

Membri privati o locali non utilizzati

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso ogni volta che un membro locale o privato viene dichiarato ma non viene mai utilizzato all'interno della stessa unità.

Avviso

Istruzione else non necessaria

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata un'istruzione else non necessaria (ad esempio, if (condition) return; else doSomething();)

Ignora

Cast o operazione 'instanceof' non necessaria

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevato un cast non necessario o un'operazione 'instanceof' (ad esempio, if (object instanceof Object) return;).

Ignora

Dichiarazione non necessaria di eccezione generata verificata

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata una dichiarazione non necessaria di un'eccezione attivata.

Ignora

Verifica metodi di sovrascrittura e implementazione

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata una dichiarazione non necessaria di un'eccezione attivata nella sostituzione o nell'implementazione di un metodo.

Disattivo

Opzioni J2SE 5.0

Operazione tipo generica non controllata

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata un'operazione di tipo generico non selezionata.

Avviso

Parametro tipo generico dichiarato con un'associazione tipi finale

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevato un binding di tipo che coinvolge un tipo finale.

Avviso

Corrispondenza tipo inesatta per gli argomenti vararg

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata una corrispondenza di tipo inesatta per gli argomenti vararg.

Avviso

Conversioni boxing e unboxing

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevata una conversione boxing o unboxing. Le conversioni di boxing automatiche potrebbero influenzare negativamente le prestazioni.

Ignora

Annotazione '@Override' mancante

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando rileva un metodo che sovrascrive un altro metodo.

Ignora

Annotazione '@Deprecated' mancante

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevato un tipo obsoleto senza l'annotazione '@Deprecated'.

Ignora

Annotazione utilizzata come super interfaccia

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevato un tipo che implementa un'annotazione. Anche se consentita, questa pratica non è consigliata.

Avviso

Non tutte le costanti di enumerazione comprese in 'switch'

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando rileva un un'istruzione switch che non contiene istruzioni case per ciascuna costante di enumerazione dell'enumerazione indicata come riferimento.

Ignora

Token di avviso non gestiti in '@SuppressWarnings'

Quando si attiva questa opzione, il compilatore genererà un errore o un avviso quando viene rilevato un token di avviso non gestito in un'annotazione '@SuppressWarnings'.

Avviso

Abilita annotazioni '@SuppressWarnings'

Quando si attiva questa opzione, il compilatore elaborerà le annotazioni '@SuppressWarnings'.

Attivo

Argomenti correlati

Generatore Java

Attività correlate

Generazione di un programma Java
Utilizzo dei percorsi di generazione
Utilizzo di JRE

Riferimenti correlati

Preferenze delle variabili del percorso classi
Proprietà del percorso di generazione Java