文章目录

问题

  • 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打开文件后,发现文件中某个位置有一个隐藏的非法字符:
    Checkstyle TokenStreamRecognitionException occurred while parsing file xxx
  • 在IDEA中光标移动至该位置,发现没有任何字符,但是按下删除键后文件显示有改动,本地再次使用Checkstyle检查通过,提交后Jenkins插件扫描通过。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-08
  • 2021-10-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2022-12-23
相关资源
相似解决方案