Gradle 属性不存在checkstyle配置文件中存在错误

Gradle 属性不存在checkstyle配置文件中存在错误,gradle,checkstyle,Gradle,Checkstyle,我使用Android Studio创建了一个Android项目。在应用程序的build.gradle中添加: apply from: '../config/quality.gradle' 然后我用两个文件创建configdir:quality.gradle如下: apply plugin: 'checkstyle' task checkstyle(type: Checkstyle) { configFile file("${project.rootDir}/config/checks

我使用Android Studio创建了一个Android项目。在应用程序的
build.gradle
中添加:

apply from: '../config/quality.gradle'
然后我用两个文件创建
config
dir:
quality.gradle
如下:

apply plugin: 'checkstyle'

task checkstyle(type: Checkstyle) {
    configFile file("${project.rootDir}/config/checkstyle.xml")
    source 'src'
    include '**/*.java'
    exclude '**/gen/**'
    classpath = files()
}
<?xml version="1.0"?>
<!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="NeedBraces">
            <property name="tokens" value="LITERAL_CASE, LITERAL_DEFAULT"/>
            <property name="allowSingleLineStatement" value="true"/>
        </module>

    </module>

</module>
checkstyle.xml
类似:

apply plugin: 'checkstyle'

task checkstyle(type: Checkstyle) {
    configFile file("${project.rootDir}/config/checkstyle.xml")
    source 'src'
    include '**/*.java'
    exclude '**/gen/**'
    classpath = files()
}
<?xml version="1.0"?>
<!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="NeedBraces">
            <property name="tokens" value="LITERAL_CASE, LITERAL_DEFAULT"/>
            <property name="allowSingleLineStatement" value="true"/>
        </module>

    </module>

</module>
如果我删除行:

<property name="allowSingleLineStatement" value="true"/>

我做错了什么,或者我在哪些方面误解了文档?

在撰写本文时,默认情况下是Gradle。
allowSingleLineStatement
属性仅为。因此,您应该能够通过使用更新的Checkstyle版本来实现这一点,如下所示:

checkstyle{
configFile=file(“${project.rootDir}/config/checkstyle.xml”)
工具版本='6.7'
}

不幸的是,Checkstyle文档没有版本控制,因此网站总是只有最新的文档,这使得很难找出类似的内容。

注意,我必须在
configFile
路径前面加上
file
关键字,但解决方案起了作用。非常感谢,托马斯。是的,
configFile
是一个
文件
;相应地更新了我的答案。谢谢尝试了此解决方案,但IDEA向我显示
错误:(12,0)Gradle:评估项目时出现问题:app'>在项目“app”上找不到参数[6.7]的方法toolVersion()。
@pratt这是另一个问题/应该是一个新问题。也许你忘了应用Java插件,或者你有一个非常旧的Gradle版本。@Thomas,是的,你是对的。顺便说一句,我知道问题出在哪里了。我试图将
toolVersion
属性指定为Checkstyle任务的一部分,而不是CheckstyleExtension(意思是
task Checkstyle(type:Checkstyle){}
),而不是
Checkstyle{}
)。请参阅以比较API:和
* What went wrong:
Execution failed for task ':app:checkstyle'.
> Unable to create a Checker: cannot initialize module TreeWalker - Unable to instantiate EmptyCatchBlock