【问题标题】:Checkstyle XML implementation using Maven使用 Maven 的 Checkstyle XML 实现
【发布时间】:2016-07-31 15:32:33
【问题描述】:

我正在尝试在我的项目中实现 Checkstyle XML。我的pom.xml 包含以下内容,我的checkstyle-checker.xml 与我的项目位于同一位置。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<configuration>
<configLocation>checkstyle-checker.xml</configLocation>
</configuration>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.1//EN"
"http://www.puppycrawl.com/dtds/configuration_1_1.dtd">

<module name="Checker">
<module name="TreeWalker">
<module name="EmptyBlock">
<property name="option" value="stmt" />
<property name="severity" value="error" />
<property name="tokens"
value="LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT" />
</module>

<module name="EmptyBlock">
<property name="option" value="text" />
<property name="severity" value="error" />
<property name="tokens" value="LITERAL_CATCH" />
</module>

<module name="MissingSwitchDefault">
<property name="severity" value="error" />
</module>

<module name="StringLiteralEquality">
<property name="severity" value="error" />
</module>

<module name="JavadocStyle">
<property name="checkEmptyJavadoc" value="false" />
<property name="checkFirstSentence" value="false" />
<property name="checkHtml" value="true" />
<property name="scope" value="private" />
<property name="severity" value="error" />
<property name="tokens"
value="INTERFACE_DEF, CLASS_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
</module>

<module name="ConstantName">
<property name="format" value="^[A-Z](_?[A-Z0-9]+)*$" />
<property name="severity" value="error" />
</module>

<module name="MemberName">
<property name="applyToPackage" value="true" />
<property name="applyToPrivate" value="true" />
<property name="applyToProtected" value="true" />
<property name="applyToPublic" value="true" />
<property name="format" value="^[a-zA-Z][a-zA-Z0-9]*$" />
<property name="severity" value="warning" />
</module>

<module name="MethodName">
<property name="format" value="^[a-z][a-zA-Z0-9]*$" />
<property name="severity" value="error" />
</module>

<module name="ParameterName">
<property name="format" value="^[a-z][a-zA-Z0-9]*$" />
<property name="severity" value="error" />
</module>

<module name="TypeName">
<property name="format" value="^[A-Z][a-zA-Z0-9]*$" />
<property name="severity" value="error" />
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF" />
</module>

<module name="NeedBraces">
<property name="tokens"
value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE" />
<property name="severity" value="error" />
</module>

<module name="RedundantImport">
<property name="severity" value="error" />
</module>

<module name="SimplifyBooleanReturn">
<property name="severity" value="warning" />
</module>

<module name="UnusedImports">
<property name="severity" value="error" />
</module>

<module name="ModifierOrder">
<property name="severity" value="error" />
</module>

<module name="MultipleVariableDeclarations">
<property name="severity" value="error" />
</module>

</module>

<module name="SuppressionFilter">
<property name="file" value="${basedir}/suppressions.xml" />
</module>

</module>

当我运行mvn checkstyle:checkstyle 时,我遇到了错误。如果有人可以帮助解决丢失的问题,那将会很有帮助。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle (default-cli) on project automation-dev: An error has occurred in Checkstyle report generation. Failed during checkstyle execution: Failed during checkstyle configuration: unable to parse configuration stream: Property ${basedir} has not been set -> [Help 1]

【问题讨论】:

  • 您可以发布您的checkstyle-checker.xml 文件吗?另外,它位于您的项目中的什么位置?
  • 用 checkstyle-checker.xml 更新。该文件与我的 pom.xml 位置相同
  • @Tunaki。感谢您的参考,它能够通过删除 来解决此问题。

标签: java maven build code-formatting checkstyle


【解决方案1】:

@图纳基。感谢您的参考,我可以通过删除来解决这个问题:

<module name="SuppressionFilter">
  <property name="file" value="${basedir}/suppressions.xml" />
</module>

参考 ${basedir}/suppressions.xml 导致解析 checkstyle-checker.xml 时出现问题,因为它不存在。作为立即修复,我将其删除。当存在需要禁止检查的特定文件时,可以根据需要包含此内容

【讨论】:

  • 不再需要投票了。只是一个(现已更正)格式问题。 :)
  • 您能否解释一下为什么这会解决问题?
猜你喜欢
  • 1970-01-01
  • 2015-02-05
  • 2019-12-02
  • 2019-03-25
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多