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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA编译报语法错误? 可能是默认机制搞的鬼!相关的知识,希望对你有一定的参考价值。

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

例如这样的语法错误

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

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

经过一番折腾,才明白原因和IDEA的默认设置有关:

知道了原因, 我们如何接下来就来修改

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

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

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

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

大招一出, 谁与争锋!

错误记录IntelliJ IDEA 编译 Java 文件报错 ( 错误: 非法字符: ‘ufeff‘ )

文章目录





一、报错信息



报错信息 :

D:\\002_Project\\003_Java_Work\\Xxx\\src\\main\\java\\cn\\Xxx.java:1: 错误: 非法字符: '\\ufeff'
package xxx;

出现该问题的原因是 IntelliJ IDEA 在创建文件时 , 为文件添加了 BOM 隐藏字符 , 这是 文件的 字节顺序标记 , 一般在 Windows 中的文件中添加 ;

BOM 隐藏字符 是 Byte Order Mark 的缩写 , 在 Unicode 编码中用于标识文件的编码格式 ;





二、修改方案



针对已经报错的类 , 在 Project 面板中 , 右键点击该文件 , 然后 在弹出的菜单中 , 选择 " Remove BOM " 选项 ;

上述方案 , 只能解决已经报错的 Java 代码的 BOM 隐藏字符问题 , 如果创建新文件 , 还是会自动在新代码中添加 BOM 隐藏字符 ;

这里就需要在 IntelliJ IDEA 的全局设置中 关闭 创建文件 自动添加 BOM 隐藏字符 的设置 ;


关闭 BOM 隐藏字符流程如下 :

选择 " 菜单栏 / File / Settings " 选项 ,

在 Settings 对话框的 " Editor / File Encodings " 中 , " Create UTF-8 file " 后的下拉菜单中 , 选择 " with NO BOM " 选项 ;

进行上述设置之后 , 在 IntelliJ IDEA 中 创建的文件 , 就不会自动添加 BOM 隐藏字符 ;

以上是关于IDEA编译报语法错误? 可能是默认机制搞的鬼!的主要内容,如果未能解决你的问题,请参考以下文章

ViewState提交后丢失,竟然是OnInit搞的鬼

IDEA编译报错:Error:java: 无效的源发行版: 17,一次搞定

一个奇怪的网页bug 竟然是局域网DNS搞的鬼

转:团队协作效率低?多半是这5大障碍搞的鬼

转:团队协作效率低?多半是这5大障碍搞的鬼

见鬼,U盘空间怎么少了,原来是EFI分区搞的鬼,删除它