Java checkstyle配置期间失败:无法分析配置流
我目前正在为maven/java项目实现checkstyle。由于我公司的项目过于复杂和庞大,我从一个较小的项目开始,只是为了测试它是否有效。到目前为止,执行情况良好。我设置了我的Java checkstyle配置期间失败:无法分析配置流,java,html,xml,maven,checkstyle,Java,Html,Xml,Maven,Checkstyle,我目前正在为maven/java项目实现checkstyle。由于我公司的项目过于复杂和庞大,我从一个较小的项目开始,只是为了测试它是否有效。到目前为止,执行情况良好。我设置了我的checkstyle.xml并将其连接到pom.xml,所有设置都已完成。同样在报告部分,因为我希望以后有一些输出。问题是,它想解析一些东西,但我甚至无法访问这些文件 CheckStyle.xml: <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check
checkstyle.xml
并将其连接到pom.xml
,所有设置都已完成。同样在报告部分,因为我希望以后有一些输出。问题是,它想解析一些东西,但我甚至无法访问这些文件
CheckStyle.xml:
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<module name="AvoidStaticImport">
<property name="excludes"
value="java.lang.System.out,java.lang.Math.*" />
</module>
</module>
</module>
<module name="ImportOrder">
<property name="groups" value="*,javax,java"/>
<property name="ordered" value="true"/>
<property name="separated" value="false"/>
<property name="option" value="top"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
</module>
<module name="SuppressionXpathSingleFilter">
<property name="checks" value="ImportOrder"/>
<property name="message" value="^'java\..*'.*"/>
</module>
原因:org.apache.maven.plugin.MojoExecutionException:在checkstyle执行期间失败
原因:org.apache.maven.plugins.checkstyle.exec.CheckStyleExecutor异常:在checkstyle配置期间失败
原因:com.puppycrawl.tools.checkstyle.api.CheckstyleException:无法解析配置流-根元素后面文档中的标记必须格式正确。:11:3
以及:
原因:org.xml.sax.SAXParseException:根元素后面的文档中的标记必须格式正确
我得到了
checkstyle result.xml
,但它是空的。在我得到一个空的XML模板之前,它工作了,没有任何待办事项。我仍然希望报告有一个checkstyle.html
文件。您的checkstyle.xml
格式不正确。格式良好的XML文档只有一个根元素。您应该将导入器
和抑制XPathSingleFilter
模块放置在树行者
下,如下所示:
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<module name="AvoidStaticImport">
<property name="excludes" value="java.lang.System.out,java.lang.Math.*"/>
</module>
<module name="ImportOrder">
<property name="groups" value="*,javax,java"/>
<property name="ordered" value="true"/>
<property name="separated" value="false"/>
<property name="option" value="top"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
</module>
<module name="SuppressionXpathSingleFilter">
<property name="checks" value="ImportOrder"/>
<property name="message" value="^'java\..*'.*"/>
</module>
</module>
</module>
[INFO] --- maven-checkstyle-plugin:3.1.0:check (default) @ testHelloWorld ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.464 s
[INFO] Finished at: 2019-07-17T11:34:20+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (default) on project testHelloWorld: Failed during checkstyle execution: Failed during checkstyle configuration: unable to parse configuration stream - The markup in the document following the root element must be well-formed.:11:3 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (default) on project testHelloWorld: Failed during checkstyle execution
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<module name="AvoidStaticImport">
<property name="excludes" value="java.lang.System.out,java.lang.Math.*"/>
</module>
<module name="ImportOrder">
<property name="groups" value="*,javax,java"/>
<property name="ordered" value="true"/>
<property name="separated" value="false"/>
<property name="option" value="top"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
</module>
<module name="SuppressionXpathSingleFilter">
<property name="checks" value="ImportOrder"/>
<property name="message" value="^'java\..*'.*"/>
</module>
</module>
</module>