我有一个自定义 checkstyle.xml 导入并设置为默认值。它工作得很好。我刚刚升级到最新版本的 checkstyle,现在我对几乎每一行代码都有警告。看起来警告来自 checkstyle xml 中的两个构建,但它们不可删除!
如何禁用这两个 checkstyle 规则文件,以免它们打扰我?
我有一个自定义 checkstyle.xml 导入并设置为默认值。它工作得很好。我刚刚升级到最新版本的 checkstyle,现在我对几乎每一行代码都有警告。看起来警告来自 checkstyle xml 中的两个构建,但它们不可删除!
如何禁用这两个 checkstyle 规则文件,以免它们打扰我?
内置配置不可移除,也无法更改或编辑。相反,人们应该创建自己的配置,这正是您所做的。
您可以尝试以下几件事:
确保正确执行了 Checkstyle Eclipse 插件的升级。停止 Eclipse。检查名为edu.umd.cs.findbugs.plugin.eclipse_ version的包含文件夹的插件和功能文件夹。plugins中应该只有一个这样的文件夹,features中应该只有一个,两者都具有相同的版本号。如果有更多,请删除具有旧版本号的那些。使用选项作为第一个参数重新启动 Eclipse 。-clean
确保您的自定义 Checkstyle 配置在插件升级后仍然是默认配置。
检查工作区中的 Eclipse 项目并确保它们没有针对 Checkstyle 的项目特定设置。右键单击项目,选择属性,然后选择 Checkstyle。确保所选配置正确。
配置名称区分大小写。.checkstyle
如果有人在位于每个项目的根目录中的文件中出现大小写错误,这可能是一个问题。或者配置名称在导入时输入错误。最后一点应该会导致不同的错误(例如configuration not found)。
看起来 Checkstyle 锁定在 2 个默认规则集中。我想到了两个选项:1)编辑默认规则以禁用冲突规则(或所有规则)。或者 2)从 plugins/checkstyle 中删除文件系统中的两个 xml 文件(无论实际的目录名称是什么)。
将以下内容放入您希望禁用 check-style 的项目中,编辑您的 pom.xml 将 check-style skip 更改为 true :
<properties>
<!-- Checkstyle -->
<checkstyle.skip>true</checkstyle.skip>
</properties>
您还应该像这样配置它:
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>validate</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<outputFileFormat>xml</outputFileFormat>
<failsOnError>false</failsOnError>
<failOnViolation>true</failOnViolation>
<skip>true</skip>
</configuration>
</execution>
</executions>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Checkstyle 仍将运行,但将执行无操作...