GitHub Pull Request后Gradle构建失败,编译报错含非法字符
问题原因及解决方法
原因
这个报错里的非法字符是不可见的Unicode控制字符(比如UTF-8 BOM字节顺序标记),大多是用带自动编码处理的编辑器(比如部分Windows自带编辑器)保存文件时自动添加的。Java编译器不识别这类字符,所以会报错第一行有非法字符,要求类/接口等合法声明。
解决步骤
- 用纯文本编辑器打开
/home/runner/work/progetto-blum/progetto-blum/src/main/java/it/uniba/app/Tavoliere.java:推荐VS Code、Notepad++或者Vim这类编辑器。 - 开启显示所有字符的功能:
- VS Code:在设置里打开
editor.renderControlCharacters,或者安装插件显示控制字符,找到第一行开头的不可见符号删掉。 - Notepad++:点击顶部菜单「视图」→「显示符号」→「显示所有字符」,就能看到那个隐藏的非法字符,直接删除。
- VS Code:在设置里打开
- 保存文件时选择UTF-8无BOM格式:
- VS Code:点击右下角的编码标识,选择「通过编码保存」→「UTF-8」。
- Notepad++:点击顶部菜单「编码」→「UTF-8无BOM编码」。
- 把修改后的代码重新推送到GitHub,再触发Gradle构建就能解决这个问题了。
内容的提问来源于stack exchange,提问作者vinc
相关产品推荐
相关产品推荐

