2015-10-29 23 views
9

私が現在取り組んでいるプロジェクトでは、IntelliJは私にコンパイルエラーError:java: javacTask: source release 8 requires target release 1.8を与えました。私は設定>ビルド、実行、配備>コンパイラ> Javaに行き、私のモジュールの1つのターゲットバイトコードバージョンが1.5に設定されていることを知ったので、1.8に変更してコンパイルしました。しかし、翌日、同じエラーが出ました。私は設定に入り、その1つのモジュールのターゲットバイトコードは1.5に戻りました。私は1.8に変更し、それはコンパイルされた/うまく走った。これは何度も起こりました。目標のバイトコードバージョンを手動で変更するために設定に入る回数が不満です。IntelliJターゲットバイトコードの復帰

なぜターゲットバイトコードのバージョンが元に戻りますか?私は1.5をpomまたは他の場所で指定していないので、なぜバイトコードのバージョンが1.5に設定され続けるのか困惑しています。

+0

「バッフル」はまさに私の気持ちです。 –

答えて

6

受け入れ答えはあなたのpom.xmlファイルに、ソースとターゲットのバージョンを指定する必要がある意味で正しいですが、maven-compiler-pluginがあるので、デフォルトで追加された簡単な方法は、次のプロパティを設定することです:

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

これは受け入れられる回答である必要があります – RedShift

8

あなたのPOMにこれをddをする必要があります。

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