【问题标题】:VSCode Maven error `The compiler compliance specified is 1.7 but a JRE 13 is used`VSCode Maven错误`指定的编译器合规性是1.7,但使用了JRE 13`
【发布时间】:2020-03-02 23:28:26
【问题描述】:

我在 VSCode 中创建了一个新的 maven 项目。当我尝试运行文件时,出现此错误

The compiler compliance specified is 1.7 but a JRE 13 is used

但没有关于如何修复错误的说明。我该怎么办?

这些是我安装的 VSC 插件:

  • Java 0.25.0 调试器
  • Java 依赖查看器 0.9.0
  • Java 扩展包 0.8.1
  • Java 运行 1.1.4
  • Java 测试运行程序 0.22.0

【问题讨论】:

  • code.visualstudio.com/docs/java/java-tutorial 安装 JDK。 TLDR;安装 Visual Studio。安装 JDK 后,您需要配置 Java 开发环境。最常见的方法是将 JAVA_HOME 环境变量设置为 JDK 的安装位置,同时您也可以使用 Visual Studio Code 设置(工作区或用户设置)中的 java.home 设置为编辑器进行配置。
  • 如何获取JDK的安装位置?我已经安装了它,但我没有记下文件夹位置,当我在我的 mac 中搜索 JDK 时没有结果。
  • 这次重装注意。它应该类似于 /Library/Java/JavaVirtualMachines/jdk-10。 jdk/Contents/Home
  • 尝试在C:\Program Files (x86)\Java找到,你应该重新安装jdk
  • 如果与原始海报不同的是,您在 [Spring Boot][1] 的上下文中使用 [Spring Initializer][2] 看到了类似的错误,请务必选择匹配的 @987654326 @ (version) 在生成你的 Spring Boot 项目之前。 [1]:spring.io/projects/spring-boot [2]:start.spring.io

标签: java maven visual-studio-code


【解决方案1】:

要解决这个问题,你必须手动更新 pom.xml 文件。您必须做的所有事情都在doc, section "Java 9 or later" 中进行了解释。以下是要遵循的步骤。

默认的 pom.xml 文件提供这些信息:

旧版本 - pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
</properties>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
          </plugin>
        </plugins>
    </pluginManagement>
</build>

如您所见,Maven 使用了一个过时的插件来与 Java 1.7 的 maven.compiler.source 一起使用。在这里您要更新插件并指定使用 Java 13。像这样修改 pom.xml:

新的解决方案版本 - pom.xml

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.release>13</maven.compiler.release>
</properties>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

现在不要忘记通过右键单击 pom.xml 文件来更新 VSCode 配置,然后单击 Update Project Configuration 或执行 Alt+Shift+U 并等待更改应用。

通常,问题部分应该是No problems have been detected in the workspace so far.

【讨论】:

  • 使用 Java 11,这个解决方案适用于我用 VS Code 打开的一个 IntelliJ 项目。
【解决方案2】:

我的问题与 JDK11 和 JDK14 类似

在我的情况下,我更改了 pom.xml 中的版本,就像@Onyr 说的那样,但问题不断出现。为了修复它,我按照以下步骤操作:

  1. 在 VSCode 中,按Crtl + Shift + P。当您可以编写时,这将显示一个弹出窗口
  2. 然后写&gt;Configure Java runtime(注意不要删除字符&gt;
  3. 点击第一个结果打开配置窗口
  4. 就我而言,我看到了这个:

如您所见,当前路径指向JDK14,但我想使用JDK11

  1. 所以,点击User Setting(“类型”列中的蓝色链接)
  2. 然后,点击Edit in settings.json
  3. 现在,您必须搜索一个名为 "java.home" 的属性并更改您要使用的 JDK 的路径

例如,在我的例子中,这一行从:

"java.home": "C:\\Program Files\\Java\\jdk-14.0.2",

收件人:

"java.home": "C:\\Program Files\\Java\\jdk-11.0.8",
  1. 最后,VSCode 将显示一个弹出窗口,要求您重新启动配置。这样做,问题就解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2013-06-07
    • 2022-01-12
    • 2011-01-13
    相关资源
    最近更新 更多