java.lang.VerifyError用kotlin创建一个gradle任务

我尝试用kotlin写一个gradle任务,这是我的代码:

GreetingTask.kt

class GreetingTask : DefaultTask() { @TaskAction fun greet() { println("greet!") } } 

的build.gradle

 buildscript { repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.613" } } apply plugin: "kotlin" dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:0.12.613" compile gradleApi() } 

GreetingTaskTest

 class GreetingTaskTest { @Test public fun canAddTaskToProject() { val project = ProjectBuilder.builder().build() val task = project.task(hashMapOf("type" to javaClass<GreetingTask>()), "greeting") assertTrue(task is GreetingTask) } } 

现在运行测试的结果是:

 java.lang.VerifyError at GreetingTaskTest.kt:20 // reason -> Cannot inherit from final class 

这是哪一行:

 val task = project.task(hashMapOf("type" to javaClass<GreetingTask>()), "greeting") 

我想知道的是:

这个问题从哪里来,如何解决?

Kotlin中的类是默认情况下最终的,与在java中打开相比。

GreetingTask类声明为“open”,并且此错误消息已消失。

 open class GreetingTask : DefaultTask() { ... }