maven-checkstyle-plugin包含在编译阶段的生命周期中.FailOneError配置已启用。它生成.xml报告并使build崩溃。我想使用我的自定义.xsl文件获取html版本进行转换。为此,我使用xml-maven-plugin但我无法将其配置为自动执行,无法集成到生命周期。
我必须执行这些步骤:
1)运行“mvn install”
2)maven-checkstyle-plugin分析代码
3)插件发现错误并生成xml报告
4)建设中断 5)xml-maven-plugin自动生成.html报告
我的pom.xml的一部分
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.version}</version>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>check</goal>
</goals>
<phase>compile</phase>
<configuration>
<configLocation>checkstyle/checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>false</failsOnError>
<includeTestSourceDirectory>false</includeTestSourceDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>${xml.maven.version}</version>
<executions>
<execution>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<transformationSets>
<transformationSet>
<dir>target\</dir>
<stylesheet>checkstyle\checkstyle-author.xsl</stylesheet>
<includes>checkstyle-result.xml</includes>
<fileMappers>
<fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
<pattern>\.xml$</pattern>
<replacement>.html</replacement>
</fileMapper>
</fileMappers>
</transformationSet>
</transformationSets>
</configuration>
</plugin>
</plugins>
</build>
答案 0 :(得分:1)
您需要密切关注阶段和插件。
checkstyle插件执行阶段&#34;编译&#34;。根据{{3}},其默认阶段是&#34; generate-resources&#34;。
所以你需要将这个目标放在the docs of the xml-maven-plugin之后,而不是checkstyle插件(编译后的进程类):
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
我相信xml插件的日志应该抱怨丢失的文件,或者如果你运行构建两次没有干净的话应该可以工作吗?这不会是一个好结果。因此,在通常最好的时候执行命令的顺序:)