IDEA:javac:源版本1.7需要目标版本1.7

Jam*_*sev 458 java intellij-idea

运行JUnit测试时,使用IntelliJ IDEA,我得到了

在此输入图像描述

我怎么能纠正这个?

  • 使用SDK 1.7
  • 模块语言级别为1.7

Maven构建工作正常.(这就是我在IDEA配置问题中相信这一点的原因)

Cra*_*der 648

很可能你在这里从Maven导入的编译器选项不正确:

编译器选项

还要检查屏幕截图中列出的项目和模块字节码(目标)版本设置.

配置语言级别的其他位置:

  • 项目结构| 项目

项目

  • 项目结构| 模块(检查每个模块)| 来源

来源

Maven 默认语言级别1.5(5.0),您将在上面的屏幕截图中看到此版本为Module语言级别.

这可以使用内部的maven-compiler-plugin配置进行更改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>
  [...]
</project>
Run Code Online (Sandbox Code Playgroud)

要么

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>
Run Code Online (Sandbox Code Playgroud)

Maven项目工具窗口中重新导入 Maven项目后,IntelliJ IDEA将遵循此设置:

再进口

  • 有什么理由为什么在修复它并应用之后会恢复到某个不正确的值(通过maven更改或其他东西)? (7认同)
  • @Patrick,您的`pom.xml` java编译器插件配置可以指定Java版本,该版本将在您下次更改pom.xml(如果启用了自动重新导入)或手动重新导入项目时覆盖此设置. (5认同)
  • 不再为Idea 14.1工作了 (5认同)
  • 正确.此设置对项目中的所有模块是否通用,还是特定于给定模块? (2认同)

Dre*_*kes 357

IntelliJ 15,2016&2017

类似于下面针对IntelliJ 13和14所讨论的内容,但在"设置/首选项"面板中有一个额外的级别:设置 > 构建,执行,部署 > 编译器 > Java编译器.

在此输入图像描述

IntelliJ 13&14

在IntelliJ 13和14中,检查设置>编译器> Java编译器 UI以确保您没有在模块中定位不同的字节码版本.

在此输入图像描述

  • 我不得不删除我的模块并让它自动解决(默认为jdk留空) (3认同)
  • 适用于最新的Idea14.1 (3认同)

ROM*_*eer 61

IntelliJ IDEA 14.1中,"目标字节码版本"位于不同的位置.

以下更改对我有用:

文件>设置...>构建,执行,部署>编译器> Java编译器:将目标字节码版本从1.5 更改为1.8

在此输入图像描述

在此输入图像描述


swi*_*nid 42

如果你使用maven 3和JDK 7,你有没有看过你应该喜欢的构建配置?

<build>
    <finalName>SpringApp</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        ...
    </plugins>
    ...
</build>
Run Code Online (Sandbox Code Playgroud)


Rob*_*eca 22

我遇到了这个,修复是转到项目设置>模块>单击特定模块>依赖项选项卡.我注意到模块SDK仍然设置为1.6,我将其更改为1.7并且它有效.


小智 13

在我的情况下,我在设置>编译器> java编译器中找到了所需的选项('目标字节码版本')(intelij idea 12.1.3)


Joe*_*eng 9

在以下路径中修改项目的编译器设置文件,并将"target"更改为1.7:

/project/.idea/compiler.xml

<bytecodeTargetLevel>
  <module name="project-name" target="1.7" />
</bytecodeTargetLevel>
Run Code Online (Sandbox Code Playgroud)


Rob*_*ski 5

我通过将字段设置为空白来解决它:

设置>编译器> Java编译器>项目字节码版本

比IntelliJ使用JDK默认版本.