IntelliJ IDEを使用すると、プロジェクトをコンパイルできません。以下の設定のスクリーンショット:
使用されているJDK:
プロジェクトSDKと言語レベル:
言語レベル:
誰かアイデアはありますか?
IntelliJ IDEを使用すると、プロジェクトをコンパイルできません。以下の設定のスクリーンショット:
使用されているJDK:
プロジェクトSDKと言語レベル:
言語レベル:
誰かアイデアはありますか?
回答:
Mavenを使用している場合
コンパイラプラグインをpom.xml
最上位project
ノードの下に追加します。
<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が正しい設定を取得するので、手動で変更する必要はありません。
Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK
。
これは、コンパイラプラグインが正しく設定されていない場合に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>
project
にあるはずです。build
plugins
<source>1.8</source>
と<target>1.8</target>
構成され、上記のエラーが発生する可能性があります。
java compiler
設定ウィンドウで、ターゲットバイトコードを1.8に設定します。
(java9の場合は9)
Mavenに関する多くの答えは正しいですが、プラグインを直接設定する必要はありません。
Apache Mavenコンパイラプラグインのwikiページで説明されているように、プラグインで使用される2つのプロパティを設定するだけです。
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
org.apache.maven.plugins:maven-compiler-plugin
は、pomまたはgradleファイルにプラグインが必要です。ドキュメントの中で、そのプロパティをpomプロパティに設定するだけで十分です。基本的に、プラグインのデフォルト値が設定されるためです(例:<source> $ { maven.compiler.source} </ source>
ターゲットのコンパイルバージョンを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>
ソースはターゲットと一致する必要があります。
Gradleアプリレベルファイル>> compileOptionsに次の2行を追加します
android {
compileOptions {
...
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_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>