インターフェイスメソッドを実装する場合、@ Overrideは許可されません


87

タイトルに問題があります。このスレッドは別のスレッドと重複していると言えます。IntelliJIDEAで注釈のエラー検証をオフにするにはどうすればよいですか?

しかし、そこで与えられた解決策は機能しません。彼らは私が次の行動を取る必要があると言います:

プロジェクト構造内| プロジェクトダイアログで、プロジェクト言語レベルを6.0に変更します-インターフェイスで@Override。

ただし、現時点ではプロジェクトの言語レベルは6.0ですが、それでもエラーが表示されます。

Vic、これがウィンドウで、言語レベルのすぐ下にJVMバージョンがありません(残念ながら、評判が10であるため、画像を投稿できません)


画像を投稿できませんが、「プロジェクト言語レベル」の下にオプションはありませんが、JVMバージョンとは異なる「プロジェクトコンパイラ出力」
Nikitin Mikhail

回答:


126

プロジェクトに複数のモジュールがある場合は、すべてのモジュールが言語レベル6以上を使用していること、またはプロジェクトの言語レベルを使用していることも確認してください(を参照Project Settings > Modules > xxx > Language level)。

プロジェクトが変更されたら、プロジェクトをリロードする必要がある場合があります。


1
はい。モジュールは1つしかありませんが、5番目の言語のcersionがありました。ありがとう
Nikitin Mikhail

9
ちょうど同じ問題に直面しました。私のプロジェクトの言語レベルはすでに6.0でしたが、@ Overrideアノテーションはまだ強調表示されていました。これを修正するには、*。imlファイルを開いてLANGUAGE_LEVEL = "JDK_1_6"を設定し、プロジェクトをリロードします
Georgy Gobozov 2014

7
バージョン2016.2.4以降を使用しているこれを見つけた他の人のために、メニューが変更され、プロジェクト構造>モジュール> xxx>言語レベル
Wesley Smith

51

モジュール/プロジェクトで、右クリックしてコンテキストメニューを表示します。

ここに画像の説明を入力してください

を選択するOpen Module Settingsか、を押しF4ます。ウィンドウの設定:

ここに画像の説明を入力してください
Choose Language levelセクションの値を設定します。


また、チェックする必要がありProject language level、このようによって:プレスCtrl+ Alt+ Shift+S

ここに画像の説明を入力してください


26

より簡単なソリューション-インライン

  1. @Override単語にキャレットを置き、赤い電球のアイコンが表示されるまで左側のキャレットを動かします。次に、それをクリックします。

    ここに画像の説明を入力してください

  2. [言語レベルを6設定]をクリックします-インターフェイスでオーバーライドします

    ここに画像の説明を入力してください


上記の方法は、次のアプローチの代替手段です。

  1. 移動し、ファイル>プロジェクトの構造...またはを押しCtrl+ Alt+ Shift+S

    ここに画像の説明を入力してください

  2. [プロジェクト設定]> [モジュール]> [ソース]> [言語レベル]に移動し、6以上のレベルを選択します。

    ここに画像の説明を入力してください


15

Mavenを使用している場合は、プロジェクトのpom.xmlファイルにMavenコンパイラプラグインを追加します。

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

これで問題は解決しました。


3

すべてのモジュールには言語レベルもあります。プロジェクト構造でモジュール設定を確認してください。


プロジェクトの言語レベルを確認できる場所は他にありませんが、プロジェクトの構造/プロジェクト
Nikitin Mikhail

プロジェクト構造| モジュール| <your_module> | 言語レベル
Peter Gromov 2013年

0

マルチモジュールMavenプロジェクトを使用しているときに、この問題に初めて遭遇しました。他の回答/ IDEが示唆しているように、言語レベルを設定する必要があります。

IDEの設定を変更するのではなく、プロジェクトIDEに依存しないようにするために、以下のプロパティで親pomを更新しました。これにより、問題が解決しました。

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

0

JIdea 2020年1月2日と上記の

  1. 行くプロジェクト構造[ Ctrl+ Alt+ Shift+S ]
  2. モジュールサブセクションを選択
  3. モジュールを選択します
  4. ソースセクションで、言語レベルを確認します
  5. 必要に応じて言語レベル変更します

ここに画像の説明を入力してください

注意:

この変更後に以下のエラーが発生した場合は、

Error:java: Compilation failed: internal java compiler error

ターゲットのバイトコードバージョンも変更する必要があります。

  1. 移動設定[ Ctrl+ Alt+ S ]
  2. Javaコンパイラを選択します
  3. テーブルからモジュールを選択します
  4. バイトコードバージョンを変更して、前の手順で選択したものを言語レベルにマッピングします

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.