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が正しい設定を選択するため、手動で変更する必要はありません。
これは、コンパイラプラグインが正しく設定されていない場合に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>
Java compiler
設定ウィンドウで、ターゲットバイトコードを1.8に設定します。
(またはJava9の場合は9)
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>
プロジェクト構造 - > モジュール に行き、問題のモジュールを見つけ、 依存関係 タブをクリックして、Module SDK
をProject SDK
に変更します。
ターゲットのコンパイルバージョンを1.8に変更するだけで修正できました。入った:
ファイル>>設定>>ビルド、実行、配置>>コンパイラ>> Javaコンパイラ
私の場合、プロジェクトの .imlファイル を開き(プロジェクトのルートフォルダにあり、プロジェクトの名前と同じ名前にします)、行<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
を<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
に変更してこの問題を解決しました
私はすべて他の人の答えと同じように設定しましたが、何らかの理由でIdeaが誤って.imlファイルを更新しました。
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>
ソースはターゲットと一致しなければなりません。
私は同じ問題に苦しんでしばらく時間を費やしました。 私にとってうまくいった唯一のことは、ビルドされたmvn(3.3.9)を使わずに、外部でダウンロードされたバージョン(3.5.0)を指すことでした。ついにプロジェクトが始まり、すべてが順調でした。
Android-studio 1.3を使用している場合は、以下の手順を実行してください -
ファイル - プロジェクト構造 に移動します。
modules - app - Properties タブで、 Source Compatibility - 1.8 と
ターゲットの互換性 - 1.8 。
そして、あなたは行ってもいいです。
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タブをクリックして確認できます。
プロジェクトがここにない場合は、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>
私にとっては、Mavenが適切な設定を見つけることができないという問題がありました。これらの項目は親pomで指定されているからです。
適切なリポジトリで私のカスタム設定を指すようにファイル - >設定 - >ビルド、実行、配置 - > Maven - >ユーザー設定ファイルを変更することで、隠れていた問題を修正しました。
ヘルプ - >エクスプローラーにログを表示 - >ログファイルをクリックすることで問題を発見しました。以前はタイトルにエラーが表示され、コンソールに "Java.lang.NullPointerException"が表示されていました。
問題の解決は非常に簡単です 。あなたはあなたのイデアプロジェクトで .idea/compiler.xml ファイルを開かなければなりません。
あなたは適切なターゲットバージョンを書くべきです
上記すべてを確認しましたが、それでもエラーが発生します。
しかし、私の場合はすべてのMavenプロジェクトの再インポート(Mavenプロジェクトパネル内のリロードボタン)が機能します。
この問題は、モジュールが注釈プロセッサで構成されていて、他のモジュールがそうではない場合に発生します。循環依存であるため、すべてのモジュールに同じ構成を設定してください。
他の答えがどれもうまくいかない場合は、Module SDKをチェックしてください 。
プロジェクトSDKを1.8に、Javacコンパイラを1.8などに更新した後に、このエラーが表示されました。
(Linuxの場合)File > Project Structure...
に移動して、表示されるウィンドウで、Project Settings
の下のModules
を選択します。リストから問題のモジュールを選択し、次にDependencies
タブを選択して、Module SDK
が適切に設定されていることを確認してください。
Gradleアプリレベルファイル>> compileOptionsに、この2行を追加します。
Android {
compileOptions {
...
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
...
}
}