@Override non è consentito durante l'implementazione del metodo di interfaccia


87

Ho il problema menzionato nel titolo. Si potrebbe dire che questo thread ne duplica un altro: come faccio a disattivare la convalida degli errori per le annotazioni in IntelliJ IDEA?

Ma la soluzione fornita lì non funziona. Dicono che devo intraprendere la seguente azione:

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

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

Vic, ecco la finestra e non esiste una versione JVM proprio sotto Livello di lingua (sfortunatamente non posso pubblicare immagini perché ho 10 reputazione)


Non posso pubblicare immagini ma non ci sono opzioni in "Livello linguaggio progetto" ma "output del compilatore progetto" che non assomiglia alla versione JVM
Nikitin Mikhail

Risposte:


126

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

Potrebbe essere necessario ricaricare il progetto una volta modificato.


1
sì. Ho solo un modulo, ma aveva la quinta versione della lingua. Grazie
Nikitin Mikhail

9
Ho appena affrontato lo stesso problema. Il livello di lingua del mio progetto era già 6.0 ma l'annotazione @Override era ancora evidenziata. Per risolvere il problema, puoi aprire il file * .iml e impostare LANGUAGE_LEVEL = "JDK_1_6" e ricaricare il progetto
Georgy Gobozov

7
Per chiunque altro trovi questo che utilizza la versione 2016.2.4 o successiva, il menu è cambiato, ora è Struttura del progetto > Moduli> xxx> Livello di lingua
Wesley Smith

51

Nel tuo modulo / progetto, fai clic con il tasto destro per vedere il menu contestuale:

inserisci qui la descrizione dell'immagine

Scegli Open Module Settingso premi F4. Nell'impostazione delle finestre:

inserisci qui la descrizione dell'immagine
impostare il valore per la Choose Language levelsezione.


Dovresti anche controllare Project language levelin questo modo: premi Ctrl+ Alt+ Shift+S

inserisci qui la descrizione dell'immagine


26

Una soluzione più semplice: in linea

  1. Metti il ​​cursore sulla @Overrideparola e sposta il cursore sul lato sinistro finché non apparirà l'icona della lampadina rossa. Quindi fare clic su di esso.

    inserisci qui la descrizione dell'immagine

  2. Fare clic su Imposta livello lingua su 6 - Sostituisci nelle interfacce

    inserisci qui la descrizione dell'immagine


Il metodo sopra è un'alternativa al seguente approccio:

  1. Vai a File> Struttura del progetto ... o premi Ctrl+ Alt+ Shift+S

    inserisci qui la descrizione dell'immagine

  2. Vai a Impostazioni progetto> Moduli> Sorgenti> Livello lingua e scegli un livello 6 o maggiore di 6.

    inserisci qui la descrizione dell'immagine


15

Se stai usando Maven, aggiungi il plugin del compilatore Maven al 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.


3

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


In realtà non vedo nessun altro posto in cui posso vedere il livello linguistico del progetto tranne la struttura / progetto del progetto
Nikitin Mikhail

Struttura del progetto | Moduli | <tuo_modulo> | Livello linguistico
Peter Gromov

0

Mi sono imbattuto in questo problema per la prima volta durante l'utilizzo di un progetto maven multi modulo. Come suggerito da altre risposte / IDE, dobbiamo impostare il livello della lingua.

Invece di modificare l'impostazione dell'IDE, per rendere l'IDE del progetto agnostico, aggiorno il pom genitore con le proprietà seguenti, che hanno risolto il problema.

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

In JIdea 2020.1.2 e versioni successive ,

  1. Vai alla struttura del progetto [ Ctrl+ Alt+ Shift+ S ]
  2. Seleziona la sottosezione Moduli
  3. Seleziona ogni modulo
  4. Nella sezione delle fonti, controlla il livello della lingua
  5. Modificare il livello di lingua come richiesto

inserisci qui la descrizione dell'immagine

NOTA:

Se ricevi l'errore di seguito dopo questa modifica,

Error:java: Compilation failed: internal java compiler error

È necessario modificare anche la versione del bytecode di destinazione.

  1. Vai a Impostazioni [ Ctrl+ Alt+ S ]
  2. Seleziona Java Compiler
  3. Seleziona il modulo nella tabella
  4. Modificare la versione del codice byte per mappare ciò che è stato selezionato nel passaggio precedente per il livello di lingua

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.