2013-03-14 8 views
64

Ho il problema menzionato nel titolo. Si potrebbe dire che questo thread ne duplica un altro: How do I turn off error validation for annotations in IntelliJ IDEA?@Override non è consentito quando si implementa il metodo di interfaccia

Ma la soluzione fornita non funziona. Dicono che devo prendere la seguente azione:

Nella struttura del progetto | Finestra di dialogo del progetto, modifica il livello della lingua del progetto su 6.0 - @ Override nelle interfacce.

Tuttavia, il livello di lingua del progetto è 6.0 al momento, ma vedo ancora l'errore.

Vic, qui è la finestra e non esiste una versione di JVM proprio sotto il livello Language (purtroppo non posso postare le immagini perché ho 10 reputazione)

+0

dove posso vederlo? –

+0

Non riesco a pubblicare immagini ma non ci sono opzioni in "Livello lingua progetto" ma "output del compilatore progetto" che non assomiglia alla versione JVM –

risposta

98

Se il progetto ha più moduli, controllare anche che ogni modulo utilizzi il livello di lingua 6 o superiore oppure utilizzare il livello di lingua del progetto (vedere Project Settings > Modules > xxx > Language level).

Potrebbe essere necessario ricaricare il progetto una volta modificato.

+1

sì. Ho solo un modulo, ma ha avuto la versione 5 della lingua. Grazie –

+6

Appena affrontato lo stesso problema. Il mio livello di lingua del progetto era già 6.0 ma l'annotazione @Override era ancora evidenziata. Per risolvere il problema è possibile aprire il file * .iml e impostare LANGUAGE_LEVEL = "JDK_1_6" e ricaricare il progetto –

+0

Il problema è scomparso dopo aver cambiato il livello di lingua in ogni modulo! Grazie, mi ha salvato alcune ore. – dominus

3

C'è anche un livello di linguaggio per ogni modulo. Si prega di verificare le impostazioni del modulo nella struttura del progetto.

+0

In realtà non vedo nessun altro posto dove posso vedere il livello della lingua del progetto ma struttura/progetto del progetto –

+0

Struttura del progetto | Moduli | | Livello di lingua –

42

Al vostro modulo/progetto, fare clic destro per vedere menu contestuale:

enter image description here

Scegliere Open Module Settings o premere F4 . In finestre di impostazione:

enter image description here
Impostare il valore per la sezione Choose Language level.


Si dovrebbe anche controllare Project language level in questo modo: premere il tasto Ctrl + Alt + Maiusc + S

enter image description here

18

Una soluzione più semplice - in linea

  1. Inserire il segno di omissione sulla parola @Override e spostare il cursore sul lato sinistro finché non viene visualizzata l'icona della lampadina rossa. Quindi fai clic su di esso.

    enter image description here

  2. Cliccare sulla Imposta livello linguistico a 6 - Override nelle interfacce

    enter image description here


Il metodo di cui sopra è un alternativa al seguente approccio :

  1. Vai a File> Progetto Struttura ... oppure premere Ctrl + Alt +Maiusc +S

    enter image description here

  2. Vai impostazioni di progetto > Moduli> Fonti> Livello di lingua e choos e qualsiasi livello che è 6 o superiore a 6.

    enter image description here

+0

questo ha risolto il mio problema. – aircraft

7

Se si utilizza Maven, aggiungere plug-in compilatore Maven nel file pom.xml del progetto.

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

Questo ha risolto il problema per me.

Problemi correlati