IDEA编译报语法错误? 可能是默认机制搞的鬼!

前言

咸鱼IDEA导入了之前的项目, 环境没有任何变动, 但是编译时突然报错

例如这样的语法错误

IDEA编译报语法错误? 可能是默认机制搞的鬼!

@Override is not allowed when implementing interface method

咸鱼莫名奇妙, 第一反应就是JDK包的问题, IDEA点开

IDEA编译报语法错误? 可能是默认机制搞的鬼!

没毛病, JDK1.8啊, 怎么可能不支持“@Override ”语法呢???

经过一番折腾,才清楚缘由和IDEA的默认设置有关:

IntelliJ IDEA导入或编译项目的时候, 会由于各种缘由自动更改项目的language level,因此需要重新设置, 默认的java language level是1.5, 并不是JDK的1.8

知道了缘由, 我们如何接下来就来修改

设置Preferences

Preferences-->Build,Execution,Deployment-->Compiler--》Java Compiler-->Project Bytecode Version

IDEA编译报语法错误? 可能是默认机制搞的鬼!

设置Project Structure

File-->Project Structure-->Project Settings-->Project-->Project language level

IDEA编译报语法错误? 可能是默认机制搞的鬼!

IDEA编译报语法错误? 可能是默认机制搞的鬼!

终极大法

以上设置完后, 你会发现项目当时就正常了, 不过, 过段时间, 老问题又出现了!

此时, 祭出我们的终极大法! 直接在项目的pom.xml中指定编译版本

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

大招一出, 谁与争锋!

请关注我的订阅号

IDEA编译报语法错误? 可能是默认机制搞的鬼!

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
我不想吃饭cccc的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容