在非常简单的情况下,尝试根据guidelines on the apache site在maven pom中设置自定义检查样式配置是行不通的。
我创建了一个项目,MyProject,使用Maven推荐的目录布局(即src/main/java/,src/main/resources),一个文件MyClass.java:
package com.myproject;
public class MyClass {
public static void main(String[] args) {
System.out.println("This line is longer than 80 characters which returns an error in sun_checks.xml, however my_checks.xml allows for much longer lines and will not return a long line error.");
}
}
一个空的检查样式文件my_checks.xml:
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.2//EN"
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
<property name="severity" value="warning"/>
<module name="TreeWalker">
</module>
</module>
以及根据指南中的规范的pom文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myproject</groupId>
<artifactId>A_Project</artifactId>
<name>A Project</name>
<version>1.0.0</version>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.8</version>
<configuration>
<configLocation>my_checks.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
运行'mvn -X checkstyle: checkstyle‘正在使用sun_checks.xml (默认),而不是使用my_checks.xml文件中的配置,这可以从产生的检查样式错误和调试输出(例如,‘'DEBUG request.getConfigLocation() config/sun_checks.xml')。
我知道my_checks.xml是有效的,因为可以使用Carboni在previous stack overflow post中概述的策略在属性中更改checkstyle.config.location,但这会在迁移到多模块项目时产生问题,并且不同于apache maven的官方检查样式说明。
https://stackoverflow.com/questions/8975096
复制相似问题