在Eclipse中使用Erlang Editor无法打开.erl文件的问题求助
解决Erlide打开.erl文件时编码不匹配的异常问题
问题场景
已安装环境:Erlang OTP 25.0、erlide 0.56.0、Eclipse 2022-09、Java 18,创建新Erlang项目和模块后,点击“Open”用Erlang Editor打开.erl文件时出现以下异常:
Failed to create the part's controls. java.lang.IllegalArgumentException: The file's actual encoding doesn't match the declared one at org.erlide.ui.editors.erl.ErlangEditor.filterUTF8Exception(ErlangEditor.java:979) at org.erlide.ui.editors.erl.ErlangEditor.createPartControl(ErlangEditor.java:940) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:158) ..... Caused by: java.lang.IllegalArgumentException: Argument not valid at org.eclipse.swt.SWT.error(SWT.java:4899) at org.eclipse.swt.SWT.error(SWT.java:4833)
仅能通过右键→OpenWith→TextEditor打开文件,但无语法高亮功能。
解决方案
统一文件与工作区编码
- 右键目标.erl文件或整个项目,选择
Properties→Resource,查看Text file encoding选项。 - 若当前编码不是UTF-8,勾选
Other并选择UTF-8,点击Apply and Close;如果是项目级设置,可勾选Apply to all subfolders and files批量修改。 - 全局配置:打开
Window→Preferences→General→Workspace,将Text file encoding设置为UTF-8,确保所有新建文件默认用该编码。
- 右键目标.erl文件或整个项目,选择
校准Erlide编辑器编码设置
- 打开
Window→Preferences→Erlang→Editor,确认编码设置为UTF-8,与文件实际编码保持一致。 - 若问题仍存在,删除项目根目录下的
.erlide配置目录,重启Eclipse让Erlide重新生成适配的配置文件。
- 打开
修复文件实际编码
用TextEditor打开文件后,选择File→Save As,在编码选项中选择UTF-8(注意选择无BOM的UTF-8格式),覆盖原文件后再尝试用Erlang Editor打开。尝试降级Java版本(可选)
部分Erlide版本对非LTS的Java版本兼容性较差,可尝试切换到Java 11或17(LTS版本),重新启动Eclipse后验证问题是否解决。
内容的提问来源于stack exchange,提问作者Mohan
相关产品推荐
相关产品推荐

