Maven Checkstyle插件:由:com.puppycrawl.tools.checkstyle.api.CheckstyleException

时间:2019-07-15 10:10:06

标签: java gradle checkstyle maven-checkstyle-plugin

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

@available(iOS 5.0, *)
open class MPNowPlayingInfoCenter : NSObject {

    open class func `default`() -> MPNowPlayingInfoCenter

    open var nowPlayingInfo: [String : Any]?

    @available(iOS 13.0, *)
    open var playbackState: MPNowPlayingPlaybackState
}

我的checkstyle.xml如下:

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

......

我收到以下异常

  

起因: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.SAXParseException; systemId:文件:/home/workspace/service/config/checkstyle/checkstyle.xml;   lineNumber:3; columnNumber:13;文档无效:没有语法   找到。

是否有解决此问题的指针?

2 个答案:

答案 0 :(得分:0)

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

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

应为these .dtd files之一。

答案 1 :(得分:0)

  

我的checkstyle.xml如下所示:
  <code_scheme name="CustomStyle" version="1">

这不是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>

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

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