Java Maven checkstyle插件:原因:com.puppycrawl.tools.checkstyle.api.CheckstyleException

Java Maven checkstyle插件:原因:com.puppycrawl.tools.checkstyle.api.CheckstyleException,java,gradle,checkstyle,maven-checkstyle-plugin,Java,Gradle,Checkstyle,Maven Checkstyle Plugin,我正在尝试使用gradle(在java 11中)项目配置checkstyle插件,如下所示: checkstyle { toolVersion = '8.2' configFile = rootProject.file('config/checkstyle/checkstyle.xml') configProperties = [ 'checkstyle.cache.file': "${buildDir}/checkstyle.cache",

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

checkstyle {
    toolVersion = '8.2'
    configFile = rootProject.file('config/checkstyle/checkstyle.xml')
    configProperties = [
            'checkstyle.cache.file': "${buildDir}/checkstyle.cache",
    ]
    ignoreFailures = true
    showViolations = true
}
<?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>
我的checkstyle.xml如下所示:

checkstyle {
    toolVersion = '8.2'
    configFile = rootProject.file('config/checkstyle/checkstyle.xml')
    configProperties = [
            'checkstyle.cache.file': "${buildDir}/checkstyle.cache",
    ]
    ignoreFailures = true
    showViolations = true
}
<?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 在com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:441)上 在com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:386)上 位于com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask.createRootModule(CheckstyleAntTask.java:407) ... 106多 原因:org.xml.sax.saxpasseeption;systemId:file:/home/workspace/service/config/checkstyle/checkstyle.xml; 行号:3;栏目号:13;文档无效:没有语法 找到了


有解决此问题的指针吗?

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

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

这应该是其中之一

我的checkstyle.xml如下所示:

这不是checkstyle的正确标记。Checkstyle配置如下所示:

<?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>

你可以阅读更多信息


看起来您提供的是一个IntelliJ配置文件。无论如何,它都与checkstyle不兼容。

我的似乎不适合链接中提到的任何DTD。。。IntelliJ将其识别为有效的checkstyle,但我检查了同样遵循相同语法的google checkstyle。。。这意味着什么。为了使用maven check样式,必须使用特定的语法?