UTF-8 BOM填坑

最近在负责公司的运维工作,公司服务器是在LInux上部署的,需要在Jenkins发布项目。最近的迭代发布时,在Jenkins上构建项目遇到其中一个项目启动报错,报错信息如下:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /root/.hudson/jobs/sv2-common-web/workspace/src/main/java/sv2/common/web/sso/interceptor/SsoLoginInterceptor.java:[1,0] error: illegal character: '\ufeff'
[ERROR] /root/.hudson/jobs/sv2-common-web/workspace/src/main/java/sv2/common/web/sso/interceptor/SsoLoginInterceptor.java:[1,9] error: class, interface, or enum expected

其中的一个Java文件编译报,报错原因是:illegal character: '\ufeff'

丢给百度之后,原来是UTF-8和UTF-8 BOM 之间的爱恨纠葛。当时在用Windows自带记事本在改动这个文件的时候,还特别注意了一下,另存为UTF-8,结果还是被坑了,一番百度后,结论:还是少触碰这个UTF-8 BOM,不知道啥时候就坑你一下。

解决方法:因为Windows自带的记事本,在存为UTF-8时,其实是存为UTF-8 BOM格式的,所以还是建议用IDE编辑文件,并且注意IDE的编码,或者网上推荐是用Notepad++进行编码更改,都可以解决这个问题。解决完文件编码问题,再次发布到服务器就没问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值