我正在使用Gradle 5.0和Checkstyle 8.15。我有一个具有以下Checkstyle配置和抑制文件的Java项目:
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一起运行以获得完整的见解。
- 在https://help.gradle.org上获得更多帮助
在此版本中使用了不推荐使用的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吗?
答案 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/。