web-dev-qa-db-ja.com

エラー:Java:javacTask:ソースリリース8にはターゲットリリース1.8が必要です

IntelliJを使用するIDEプロジェクトをコンパイルできません。以下の設定のスクリーンショット:

使用されるJDK:

http://gyazo.com/b6e32119af7b04090d890cad04db6373

プロジェクトSDKと言語レベル:

http://gyazo.com/55a5fc9f7f2bb721a04780ce9d74eeab

言語レベル:

http://gyazo.com/143bffad63fd89cafc231298729df2fc

誰かアイデアがありますか?

708
Hobbyist
  1. ファイル>設定>ビルド、実行、配置>コンパイラ> Javaコンパイラ
  2. 変更してください 対象のバイトコードのバージョン から 1.8 で作業しているモジュールの/。

Mavenを使用している場合

最上位のprojectノードの下のpom.xmlにコンパイラプラグインを追加します。

<build>
    <plugins>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

(コメントから持ち上げられた。)

注:プロジェクトを再インポートしても構わない場合は、pomを変更してプロジェクトを再インポートするだけでよく、IntelliJが正しい設定を選択するため、手動で変更する必要はありません。

1541
Weslor

設定に行き、Javaコンパイラの下で以下を設定する必要があります: enter image description here

プロジェクト設定も確認してください。

160
Gregory Mazur

これは、コンパイラプラグインが正しく設定されていない場合にMavenが生成する一種のエラーのようです。これは、Java 8コンパイラ設定の例です。

<project xmlns="http://maven.Apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>
106
Steve Chaloner

私が見つけた最も速い方法:

  • 押す:CTRL + SHIFT + A (Mac用  + SHIFT + A
  • タイプ:Java compiler
  • 押す: ENTER

設定ウィンドウで、ターゲットバイトコードを1.8に設定します。

(またはJava9の場合は9

70
snovelli

この問題を解決するには2つの方法があります。

  1. 設定を行う(File -> Settings -> Build, Execution, Deployment -> Java Compiler)enter image description here
  2. ビルドセクションをあなたのpom.xmlに追加してください: enter image description here
25
Lord Nighton

Mavenに関する多くの回答は正しいですが、プラグインを直接設定する必要はありません。

Apache Maven Compiler Pluginの wikiページ で説明されているように、プラグインで使用される2つのプロパティを設定するだけです。

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>
13
Marvin Richter

プロジェクト構造 - > モジュール に行き、問題のモジュールを見つけ、 依存関係 タブをクリックして、Module SDKProject SDKに変更します。

10
Sam Barnum

ターゲットのコンパイルバージョンを1.8に変更するだけで修正できました。入った:

ファイル>>設定>>ビルド、実行、配置>>コンパイラ>> Javaコンパイラ

8
Vishal

/.idea/compiler.xmlに行き、targetを必須のjdkレベルに変更する必要があります。 enter image description here

3
Usman

私の場合、プロジェクトの .imlファイル を開き(プロジェクトのルートフォルダにあり、プロジェクトの名前と同じ名前にします)、行<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" /><orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />に変更してこの問題を解決しました 

私はすべて他の人の答えと同じように設定しましたが、何らかの理由でIdeaが誤って.imlファイルを更新しました。

3
Cloud

Mavenボタンを再インポートすると、エラーが消えました。

enter image description here

3
Pham Hung

POMファイルを修正して修正しました。最高得票数の回答の下にある最後のコメントに注目してください。

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

ソースはターゲットと一致しなければなりません。

2
user4884640

私は同じ問題に苦しんでしばらく時間を費やしました。 私にとってうまくいった唯一のことは、ビルドされたmvn(3.3.9)を使わずに、外部でダウンロードされたバージョン(3.5.0)を指すことでした。ついにプロジェクトが始まり、すべてが順調でした。 

1
thunder

Android-studio 1.3を使用している場合は、以下の手順を実行してください -

ファイル - プロジェクト構造 に移動します。

modules - app - Properties タブで、 Source Compatibility - 1.8

ターゲットの互換性 - 1.8

そして、あなたは行ってもいいです。

1
B.shruti

Compiler.xmlファイルの下には、以下のものがあります。

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

そしてあなたは私が1.5から1.8に変更する必要がある私のためにあなたの古いものから新しいものへ目標値を変えることができます 

Intellij を使用し、 Maven を使用して、Intellijがプロジェクトを自動インポートしたことを確認する必要があります。 エディタの右側にあるMavenタブをクリックして確認できます。

enter image description here

プロジェクトがここにない場合は、pom.xmlをクリックして+ファイルを追加します。

明らかに、プロジェクトは関連する<build/>も持っていなければなりません:

    <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
0
Nicolas Zozol

私にとっては、Mavenが適切な設定を見つけることができないという問題がありました。これらの項目は親pomで指定されているからです。

適切なリポジトリで私のカスタム設定を指すようにファイル - >設定 - >ビルド、実行、配置 - > Maven - >ユーザー設定ファイルを変更することで、隠れていた問題を修正しました。

ヘルプ - >エクスプローラーにログを表示 - >ログファイルをクリックすることで問題を発見しました。以前はタイトルにエラーが表示され、コンソールに "Java.lang.NullPointerException"が表示されていました。

0
eis

問題の解決は非常に簡単です 。あなたはあなたのイデアプロジェクトで .idea/compiler.xml ファイルを開かなければなりません。 

あなたは適切なターゲットバージョンを書くべきです

0
Axmedbek

あなたのモジュールに依存関係を設定することを忘れないでください: enter image description here

0
Hieu Vo

上記すべてを確認しましたが、それでもエラーが発生します。

しかし、私の場合はすべてのMavenプロジェクトの再インポート(Mavenプロジェクトパネル内のリロードボタン)が機能します。

0
snap

この問題は、モジュールが注釈プロセッサで構成されていて、他のモジュールがそうではない場合に発生します。循環依存であるため、すべてのモジュールに同じ構成を設定してください。

0
Gani

他の答えがどれもうまくいかない場合は、Module SDKをチェックしてください

プロジェクトSDKを1.8に、Javacコンパイラを1.8などに更新した後に、このエラーが表示されました。

(Linuxの場合)File > Project Structure...に移動して、表示されるウィンドウで、Project Settingsの下のModulesを選択します。リストから問題のモジュールを選択し、次にDependenciesタブを選択して、Module SDKが適切に設定されていることを確認してください。

0
dzimney

Gradleアプリレベルファイル>> compileOptionsに、この2行を追加します。

Android {
  compileOptions {
    ...
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    ...
   }
}
0
Badr