解决Checkstyle File Name 异常的问题

Posted 技术小黑屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Checkstyle File Name 异常的问题相关的知识,希望对你有一定的参考价值。

Checkstyle是一款很棒的工具,用来发现很多编码风格的问题。还不了解的同学可以移步这里Android代码规范利器: Checkstyle查看。

但是在使用Checkstyle时,却出现了一些问题,就是file元素的name不是我们当前执行checkstyle任务的路径。

举个例子,比如

  • 我们执行./gradlew checkstyle时项目的路径为~/Document/aProject
  • 但是报告输出的file name属性为/tmp/aProject/Commonxxxx/src/main/java/com/xxxx/core/adapter/xxxxxx.java,基础路径为/tmp/aProject

具体的相关报告的输出结果

1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="6.19">
<file name="/tmp/aProject/Commonxxxx/src/main/java/com/xxxx/core/adapter/xxxxxx.java">
<error line="26" column="37" severity="warning" message="Member name &apos;mHeaderViews&apos; must match pattern &apos;^[a-z][a-z0-9][a-zA-Z0-9]*$&apos;." source="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<error line="27" column="37" severity="warning" message="Member name &apos;mFootViews&apos; must match pattern &apos;^[a-z][a-z0-9][a-zA-Z0-9]*$&apos;." source="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<error line="30" column="23" severity="warning" message="Member name &apos;mContext&apos; must match pattern &apos;^[a-z][a-z0-9][a-zA-Z0-9]*$&apos;." source="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<error line="62" severity="warning" message="Overload methods should not be split. Previous overloaded method located at line &apos;52&apos;." source="com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck"/>

原因

原因是使用了gralde的build cache导致的。

解决方法

执行时不使用gralde build cache

1
./gradlew --no-build-cache checkstyle

相关文章推荐

以上是关于解决Checkstyle File Name 异常的问题的主要内容,如果未能解决你的问题,请参考以下文章

centos7+maven+jenkins+checkstyle 构建总是java.io.EOFException异常

maven 中执行checkstyle 异常 , 是啥原因呀?

Idea checkstyle插件的使用

Checkstyle-带有批注的方法必须在构造函数之前

Checkstyle-IDEA 插件与 DevEcoStudio 不兼容

在checkstyle中如何设置