[记录]关于javac编译时出现“非法字符:/65279”的问题

当使用带BOM的UTF-8编码文件进行javac编译时,会出现'非法字符:/65279'的错误。Eclipse由于使用JDT不受影响,但在myeclipse或maven中可能遇到此问题。解决方案包括使用Notepad++等文本编辑器将文件重新保存为无BOM的UTF-8格式,或者在ant构建中切换到Eclipse的JDT编译器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.问题简述

 

    编码成UTF-8时,没具体选择正确的编码的格式,即选成了带BOMUTF-9文件;已经文件开头会多3char,即javac编译时报警提示的/65279

    听说:一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识;而且在UTF8的标准里该BOM标识是可有可无的,Sun javac 在编译带有BOMUTF-8的格式的文件时会出现非法字符:/65279”的错误。

    Eclipse进行编译一般没有问题,原因在于Eclipse使用的是自己的JDT,而非javac。但最近我用myeclipse编译时出现问题。很可能是maven配置的编译是javac的。

2.出现这种情况时,可以通过如下方法解决: 


    1)用其他较强大的文本编辑器重新编码文件并保存。我是用notepad++的,看网上的资源说一般
UEEditplus等文本编辑器重新保存文件为不带BOMUTF-8格式也可以。
    2)
可使用eclipse自带的编译器进行编译,如下例
    
<!--ant中添加property,使用eclipse jdt compiler编译-->
    <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />

    
相关jar包,在eclipse安装文件plugins目录下:org.eclipse.jdt.core_xxx.jarxxx为版本号

    但我自己没用过这方法。                

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值