Checkstyle TokenStreamRecognitionException occurred while parsing file xxx

文章目录

问题

  • Jenkins集成Checkstyle插件,扫描到该文件时报错:Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: TokenStreamRecognitionException occurred while parsing file
  • 使用IDEA Checkstyle插件扫面xxx文件,报错The source file could not be parsed by Checkstyle.

分析

  • 代码行数不多,差不多20行,直接肉眼看代码,找不到任何问题;
  • 参考Google搜索结果,初步判断时文件中含有非法字符;
  • Jenkins错误日志没有报告行数或非法字符内容,猜测可能是一个隐藏的非法字符,比如行首行尾或文件开始结尾存在非法字符。

解决

  • 在IDEA中确认该文件的编码和其他文件一致,包括换行符等,确保非法字符不可能出现在行首行尾、文件开始或末尾的位置;
  • mac可以直接在控制台用less或vi命令打开该文件,Windows需要上传文件至Linux服务器,在服务器上使用less 或vi打开文件;
  • 用less打开文件后,发现文件中某个位置有一个隐藏的非法字符:
    在这里插入图片描述
  • 在IDEA中光标移动至该位置,发现没有任何字符,但是按下删除键后文件显示有改动,本地再次使用Checkstyle检查通过,提交后Jenkins插件扫描通过。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值