IDEA 自动重置 Language level 导致与 JavaCompiler 版本不一致问题

IDEA 自动重置 Language level 导致与 JavaCompiler 版本不一致问题

问题描述

使用 IDEA 开发 Java 项目的时候, Java 语言使用 1.8 版本, 编译器 确实 1.7 版本. 导致编译出错

网上大多数资料提供的结局方案都是: File–》Setting–》Build,Execution,Deployment–》Compiler–》Java Compiler–》Project Bytecode Version 然后在 File–》Project Structure–》Project Settings–》Project–》Project language level 修改 jdk 版本. 这种方案可以临时解决问题, 但 maven 项目发生变化自动 update 时, 又被重置回去. 不能从根本上解决问题.

问题分析

打开项目的 pom 文件, 找到下面一行配置:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
</plugin>

按住 ctrl 键, 鼠标放到 “maven-compiler-plugin”, 打开源文件. 可以看到 maven 默认的使用 1.7版本的 jdk

<properties>
    ...
    <javaVersion>7</javaVersion>
    ...
</properties>

解决方案

指定 maven 编译版本

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

猜你喜欢

转载自blog.csdn.net/zjhcxdj/article/details/108604911