【发布时间】:2013-03-25 12:01:18
【问题描述】:
我有一个自定义的 checkstyle.xml 导入并设置为默认值。它工作得很好。我刚刚升级到最新版本的 checkstyle,现在我对几乎每一行代码都有警告。看起来警告来自 checkstyle xml 中的两个构建,但它们不可删除!
如何禁用这两个 checkstyle 规则文件,以免它们打扰我?
【问题讨论】:
标签: java eclipse checkstyle
我有一个自定义的 checkstyle.xml 导入并设置为默认值。它工作得很好。我刚刚升级到最新版本的 checkstyle,现在我对几乎每一行代码都有警告。看起来警告来自 checkstyle xml 中的两个构建,但它们不可删除!
如何禁用这两个 checkstyle 规则文件,以免它们打扰我?
【问题讨论】:
标签: java eclipse checkstyle
内置配置不可移除,也无法更改或编辑。相反,人们应该创建自己的配置,这正是您所做的。
您可以尝试以下几种方法:
确保您的 Checkstyle Eclipse 插件升级正确执行。停止 Eclipse。检查 plugins 和 features 文件夹中是否包含名为 edu.umd.cs.findbugs.plugin.eclipse_version 的文件夹。 plugins 中应该只有一个这样的文件夹,features 中应该只有一个这样的文件夹,两者都具有相同的版本号。如果有更多,请删除具有旧版本号的那些。使用 -clean 选项作为第一个参数重新启动 Eclipse。
确保您的自定义 Checkstyle 配置在插件升级后仍然是默认配置。
检查工作区中的 Eclipse 项目,并确保它们没有针对 Checkstyle 的项目特定设置。右键单击项目,选择属性,然后选择 Checkstyle。确保所选配置正确。
配置名称区分大小写。如果有人在位于每个项目的根目录中的.checkstyle 文件中出现大小写错误,则可能会出现问题。或者配置名称在导入时输入错误。最后一点应该会导致不同的错误(例如找不到配置)。
【讨论】:
在 2 个默认规则集中看起来像 Checkstyle 锁定。我想到了两个选项:1)编辑默认规则以禁用冲突规则(或所有规则)。或者 2)从 plugins/checkstyle 中删除文件系统中的两个 xml 文件(无论实际的目录名称是什么)。
【讨论】:
将以下内容放入您希望禁用检查样式的项目中,编辑您的 pom.xml 将检查样式跳转为 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 仍会运行,但会执行无操作...
【讨论】: