Maven checkstyle plugin: Caused by: com.puppycrawl.tools.che



我正在尝试使用 gradle(在 java 11 中)项目配置检查样式插件,如下所示:

checkstyle {
toolVersion = '8.2'
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
configProperties = [
'checkstyle.cache.file': "${buildDir}/checkstyle.cache",
]
ignoreFailures = true
showViolations = true
}

我的检查样式.xml如下所示:

<?xml version="1.0"?>
<code_scheme name="CustomStyle" version="1">
<AndroidXmlCodeStyleSettings>
<option name="USE_CUSTOM_SETTINGS" value="true"/>
<option name="LAYOUT_SETTINGS">
<value>
<option name="INSERT_BLANK_LINE_BEFORE_TAG" value="false"/>
</value>
</option>

......

我得到以下异常

由以下原因引起:com.puppycrawl.tools.checkstyle.api.CheckstyleException:无法 解析配置流 - 文档无效:无语法 找到:3:13 at com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:441) at com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:386) at com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask.createRootModule(CheckstyleAntTask.java:407) ...还有 106 个 由: org.xml.sax.SAXParseException;systemId: file:/home/workspace/service/config/checkstyle/checkstyle.xml; 行号: 3;列数: 13;文档无效:无语法 发现。

有什么指示可以解决此问题吗?

我的检查样式.xml如下所示:
<code_scheme name="CustomStyle" version="1">

这不是校验样式的正确标记。检查样式配置如下所示:

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<module name="TreeWalker">
</module>
</module>

您可以阅读 https://checkstyle.sourceforge.io/config.html 了解更多信息。

看起来您提供给它的是一个 IntelliJ 配置文件。无论哪种方式,它都与 checkstyle 不兼容。

您需要定义要检查的内容;例如:

<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">

这应该是这些.dtd文件之一。

最新更新