首先,checkstyle的jar包路径如下:(checkstyle目前最新版本是8.1,不同版本规则不大一样,如果出现这个错误:
com.puppycrawl.tools.checkstyle.api.CheckstyleException: SuppressionCommentFilter is not allowed as a child in Checker,说明规则和checkstyle规则冲突,请换包。)
https://sourceforge.net/projects/checkstyle/files/checkstyle/7.6/
命令如下:
java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src
如果用的是bash,可以设置
globstar
,然后只对java文件进行处理:
shopt -s globstar
java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src/**/*.java
如果要输出结果到文件:
java -jar checkstyle-5.6-all.jar -r src/**/*.java -c sun_checks.xml -f xml -o checkstyle-result.xml
checkstyle command instruction:
http://checkstyle.sourceforge.net/cmdline.html
如果checkstyle的规则需要依赖其他的jar包,则需要在checkstyle.jar中的META-INF中的MANIFEST.MF文件中增加一行:
Class-Path: XXXXXX.jar(XXXXXX.jar和checkstyle.jar在同一路径下)