Gradle 属性不存在checkstyle配置文件中存在错误
我使用Android Studio创建了一个Android项目。在应用程序的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
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