22

OpenJDK 1.8を使用してMavenアプリケーションを作成し、TestNGを使用してテストを実行しています。

コマンドラインからMavenを実行すると、すべてが正常に機能しますが、IntelliJ内でテストを実行しようとすると、makeプロセスに次のエラーが表示されます。

java: javacTask: source release 8 requires target release 1.8

1.8JDKおよびプロジェクト言語レベル8を指すプロジェクト設定があります。

Mavenの中には、次のブロックがあります(問題の原因であると思われるため、まだ呼び出されていないと思います)

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

1.8JDKを指すようにMavenRunnerJREを構成しました。

IntelliJ12.0.4でテストを正しく実行できないようです

私は何かが足りないのですか?

4

4 に答える 4

73

CrazyCoderからのヒントの後、.idea/compiler.xmlには次のセクションが含まれていることがわかりました。

<bytecodeTargetLevel> 
    <module name="game" target="1.7" /> 
</bytecodeTargetLevel> 

これを次のように変更しました:

<bytecodeTargetLevel> 
    <module name="game" target="1.8" /> 
</bytecodeTargetLevel> 

そしてそれはうまくいった

于 2013-03-25T20:35:28.720 に答える
7

それを作る別の方法があります。「ファイル」->「その他の設定」->検索バーに「javac」と入力->JDKのデフォルトを「1.8」またはターゲットの任意のバージョンに変更します。

于 2014-10-07T17:02:48.813 に答える
2

Xetiusの答えはIntelliJ14.1.2ではうまくいきませんでした

結局、私はのセクションを見つけました.idea/misc.xml

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
   <output url="file://$PROJECT_DIR$/out" />
</component>

私は結局:

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/out" />
</component>
于 2015-05-22T15:27:33.993 に答える
0

私の場合、[ファイル]>[プロジェクト構造]>[モジュール]に移動する必要がありました。私のモジュールの半分では、「モジュールSDK」フィールドが間違ったものに設定されていました(本来あるべきプロジェクトのデフォルトではありません)。

于 2015-07-10T02:41:18.473 に答える