@Override tidak diperbolehkan saat mengimplementasikan metode antarmuka

89

Saya memiliki masalah yang disebutkan di judul. Anda dapat mengatakan bahwa utas ini menduplikasi utas lainnya: Bagaimana cara menonaktifkan validasi kesalahan untuk anotasi di IntelliJ IDEA?

Tetapi solusi yang diberikan di sana tidak berhasil. Mereka mengatakan bahwa saya perlu mengambil tindakan berikut:

Dalam Struktur Proyek | Dialog proyek, ubah Tingkat bahasa Proyek menjadi 6.0 - @Override di antarmuka.

Namun, Tingkat bahasa Proyek adalah 6.0 saat ini, tetapi saya masih melihat kesalahan.

Vic, ini jendelanya dan tidak ada versi JVM tepat di bawah level Bahasa (sayangnya saya tidak dapat memposting gambar karena saya memiliki 10 reputasi)

Nikitin Mikhail
sumber
Saya tidak dapat memposting gambar tetapi tidak ada opsi apa pun di bawah "Project Language Level" tetapi "project compiler output" yang tidak terlihat seperti versi JVM
Nikitin Mikhail

Jawaban:

127

Jika project Anda memiliki beberapa modul, periksa juga apakah setiap modul menggunakan level bahasa 6 atau lebih tinggi, atau gunakan level bahasa project (lihat Project Settings > Modules > xxx > Language level).

Anda mungkin perlu memuat ulang proyek Anda setelah diubah.

Bastien Jansen
sumber
1
Iya. Saya hanya memiliki satu modul, tetapi memiliki versi bahasa ke-5. Terima kasih
Nikitin Mikhail
9
Hanya menghadapi masalah yang sama. Level bahasa project saya sudah 6.0 tetapi anotasi @Override masih disorot. Untuk memperbaikinya Anda dapat membuka file * .iml dan mengatur LANGUAGE_LEVEL = "JDK_1_6" dan memuat ulang proyek
Georgy Gobozov
7
Bagi orang lain yang menemukan ini yang menggunakan versi 2016.2.4 atau lebih tinggi, menu telah berubah, sekarang Project Structure > Modules> xxx> Language level
Wesley Smith
52

Di modul / proyek Anda, Klik kanan untuk melihat menu konteks:

masukkan deskripsi gambar di sini

Pilih Open Module Settingsatau tekan F4. Di jendela pengaturan:

masukkan deskripsi gambar di sini
Tetapkan nilai untuk Choose Language levelbagian.


Anda juga harus memeriksanya Project language leveldengan cara ini: tekan Ctrl+ Alt+ Shift+S

masukkan deskripsi gambar di sini

Do Nhu Vy
sumber
26

Solusi yang lebih sederhana - sebaris

  1. Letakkan tanda sisipan pada @Overridekata dan gerakkan tanda sisipan di sisi kiri hingga ikon bola lampu merah muncul. Kemudian klik di atasnya.

    masukkan deskripsi gambar di sini

  2. Klik Setel tingkat bahasa ke 6 - Ganti di antarmuka

    masukkan deskripsi gambar di sini


Metode di atas merupakan alternatif dari pendekatan berikut:

  1. Buka File> Struktur Proyek ... atau tekan Ctrl+ Alt+ Shift+S

    masukkan deskripsi gambar di sini

  2. Buka Pengaturan Proyek> Modul> Sumber> Tingkat bahasa dan pilih tingkat mana saja yang 6 atau lebih besar dari 6.

    masukkan deskripsi gambar di sini

ROMANIA_engineer
sumber
15

Jika Anda menggunakan maven, tambahkan plugin compiler maven ke file pom.xml proyek.

<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>

Ini memecahkan masalah saya.

nuwan.chamara
sumber
3

Ada juga level bahasa untuk setiap modul. Silakan periksa pengaturan modul Anda di Struktur Proyek.

Peter Gromov
sumber
Saya sebenarnya tidak melihat tempat lain di mana saya dapat melihat tingkat bahasa proyek tetapi struktur-proyek / proyek
Nikitin Mikhail
Struktur Proyek | Modul | <modul_anda> | Tingkat Bahasa
Peter Gromov
0

Saya mengalami masalah ini untuk pertama kalinya saat menggunakan proyek multi modul maven. Seperti yang disarankan oleh jawaban / IDE lain, kita perlu menyetel level bahasa.

Daripada mengubah pengaturan IDE, untuk membuat proyek IDE agnostik, saya memperbarui pom induk dengan properti di bawah ini, yang memecahkan masalah.

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
sss
sumber
0

Di JIdea 2020.1.2 dan yang lebih baru ,

  1. Pergi ke Struktur Proyek [ Ctrl+ Alt+ Shift+S ]
  2. Pilih modul sub bagian
  3. Pilih setiap modul
  4. Di bawah bagian sumber, periksa Tingkat Bahasa
  5. Ubah Tingkat Bahasa sesuai kebutuhan

masukkan deskripsi gambar di sini

CATATAN:

Jika Anda mendapatkan kesalahan di bawah ini setelah perubahan ini,

Error:java: Compilation failed: internal java compiler error

Anda juga harus mengubah versi bytecode target.

  1. Buka Pengaturan [ Ctrl+ Alt+ S ]
  2. Pilih Java Compiler
  3. Pilih modul di tabel
  4. Ubah versi kode byte untuk memetakan apa yang Anda pilih di langkah sebelumnya untuk tingkat bahasa

masukkan deskripsi gambar di sini

utama
sumber