我正在使用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失败
FAILURE:构建因异常而失败。
出了什么问题:任务':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?
如果要在项目目录/ config / checkstyle /中放置inhibitions.xml,请使用以下方式,
<module name="SuppressionFilter">
<property name="file" value="${config_loc}/suppressions.xml"/>
</module>
最新版本的checkstyle的config_loc变量自动设置为project-dir / config / checkstyle /。