【发布时间】:2025-11-30 01:20:07
【问题描述】:
我希望 checkstyle 也可以检查 xml/properties(如果可能的话在 yml)文件中的缩进。
但是,以我当前的配置,我无法完成它。这是我的项目结构的样子
.
├── Makefile
├── README.md
├── checkstyle.xml
├── pom.xml
├── src
│ ├── main
│ └── test
而我的checkstyle.xml 针对这个特定问题的文件配置是
<module name="Checker">
<property name="charset" value="UTF-8"/>
<property name="severity" value="error"/>
<property name="fileExtensions" value=""/>
<property name="basedir" value="."/>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
我已将basedir 设置为. 并尝试使用/(因为我的检查样式位于config/checkstyle 位置)。我也尝试过没有basedir 属性,但是当我的 XML 缩进 4 个空格时,它不会报告 XML 缩进问题。我说的是pom.xml。我如何确保 checkstyle 检查 xml 文件。
PS:
我在我的 maven 依赖项中使用 checkstyle 7.0 版并以 mvn checkstyl:checkstyle 的身份执行检查
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>7.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>${checkstyle.config.location}</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
【问题讨论】:
-
你是什么意思检查缩进?它应该如何表现?它应该强制使用制表符,还是应该检查每个标签是否缩进了四个空格?
-
你当前的配置只会检查是否有标签在任何地方使用,它会报告它。
-
我想检查它的标识是 2 个空格而不是 4 个
-
checkstyle 是不可能的。
标签: java xml maven checkstyle