Checkstyle找不到pressions.xml

时间:2018-12-16 22:14:34

标签: java gradle checkstyle

我正在使用Gradle 5.0和Checkstyle 8.15。我有一个具有以下Checkstyle配置和抑制文件的Java项目:

  • config / checkstyle / checkstyle.xml
  • config / checkstyle / suppressions.xml

checkstyle.xml引用suppressions.xml如下:

<module name="SuppressionFilter">
    <property name="file" value="config/checkstyle/suppressions.xml"/>
</module>

如果我对源运行checkstyle,它将失败:

  

$ ./gradlew checkstyleMain -xwebpack

     
      
  • 配置项目:默认为dev Spring配置文件

         

    任务:checkstyleMain失败

  •   
     

失败:构建失败,并出现异常。

     

出了什么问题:任务':checkstyleMain'的执行失败。   无法创建根模块:config {/ Users / robert / dev / ...},   类路径   {/ Users / robert / dev/...}。

     

尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。与--scan一起运行以获得完整的见解。

           

在此版本中使用了不推荐使用的Gradle功能,因此   与Gradle 6.0不兼容。使用'--warning-mode all'来显示   个别弃用警告。看到   https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:command_line_warnings

     

在1秒钟内成功完成3项可执行的任务:1项已执行,2项最新

如果我删除对suppressions.xml的引用,则构建完成(checkstyle查找在发现抑制后将被忽略的错误)。

我从文档中了解到,诸如config/checkstyle/suppressions.xml之类的引用文件的根是项目根。但是,事实似乎并非如此。

我不能正确设置Checkstyle吗?

1 个答案:

答案 0 :(得分:2)

如果要在项目目录/ config / checkstyle /中放置inpressions.xml,请使用以下方式,

<module name="SuppressionFilter">
    <property name="file" value="${config_loc}/suppressions.xml"/>
</module>

最新版本的checkstyle会将config_loc变量自动设置为project-dir / config / checkstyle/。