当前位置: 首页 > 知识库问答 >
问题:

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

虞俊美
2023-03-14

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

我该如何纠正这一点呢?

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

Maven build工作良好。(这就是为什么我在IDEA configuration issue中相信这一点)

共有2个答案

周育
2023-03-14

与下面讨论的IntelliJ13&14类似,但在设置/首选项面板中增加了一个级别:设置>构建、执行、部署>编译器>Java编译器。

在IntelliJ13和14中,检查“设置”>“编译器”>“Java编译器”UI以确保您的模块中没有针对不同的字节码版本。

松洛华
2023-03-14

很可能您在此处从Maven导入了不正确的编译器选项:

同时检查屏幕截图中概述的项目和模块字节码(目标)版本设置。

配置源语言级别的其他地方:

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

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

这可以使用pom.xml中的maven-compiler-plugin配置来更改:

<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>

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

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

 类似资料:
  • 问题内容: 注意:这似乎是“ javac”程序中的限制。 我有需要为Java 5 JVM构建的Java 6代码。我以前使用javac ant目标(同时使用JDK编译器和ecj)的工作使我相信,这仅仅是为javac设置源和目标的问题。因此,此pom.xml片段: 在具有Maven支持的Eclipse 3.7中可以正常工作。不幸的是,直接从命令行运行Maven给了我 与产生的相同。澄清一下,这是Ubu

  • 我正在使用intellij创建sbt跨编译平台项目,使用以下平台JVM、JS、NativeWin、NativeUbuntu、Android和共享scala代码。我的项目需要Java8,但似乎Android不适合Java8版本,因为我在sbt文件中为Android模块指定了1.7版本,如下所示: Android模块文件 项目设置:

  • 问题内容: 我见过类似的问题,但尚未找到答案。 使用Maven编译,我得到: 这是pom.xml: Javac版本: Java版本: 知道会是什么吗? 问题答案: 您需要将JAVA_HOME设置为jdk7主目录,例如在Microsoft Windows上: “ C:\ Program Files \ Java \ jdk1.7.0_40” 或在OS X上: /图书馆/Java/JavaVirtua

  • 使用maven compile,我得到: 下面是pom.xml: Javac版本: 知道可能是什么吗?

  • 更新时间:2019-11-15 11:03:00 1.10.0(2019-11-15) 新功能 服务开发增加移动推送应用节点 1.9.0(2019-10-30) 新功能 支持非物模型设备的mqtt topic订阅与下发 支持监听设备上下线动作,进行规则触发 数据源的时间类型数据支持变量时间 交互优化:日志结构化 1.5.0(2019-07-20) 新功能 服务开发增加人工智能相关节点,包含人脸识别

  • 我有这个错误: