错误:无法访问KObject - 找不到kotlin.jvm.internal.KObject的类文件

时间:2014-12-02 09:54:28

标签: java gradle kotlin

我正在尝试将Kotlin与现有的Java应用程序集成。因此,为了测试它,我创建了一个简单的kotlin文件和一个单元测试(在java中),它将做一些简单的事情。单元测试的目的是确保所有配置都正确,实际上我可以从java调用kotlin类。

这是我有点卡住的地方,在使用gradle执行构建时,我收到以下错误:

[ERROR] [system.err] Sample.class: warning: Cannot find annotation method 'name()' in type 'JetValueParameter'
[ERROR] [system.err] SampleTest.java:19: error: cannot access KObject
[ERROR] [system.err]         sample.setStatusCode(Sample.Status.OK);
[ERROR] [system.err]                                        ^
[ERROR] [system.err]   class file for kotlin.jvm.internal.KObject not found
[ERROR] [system.err] 1 error
[ERROR] [system.err] 24 warnings

我在类路径上有kotlin运行时,我还在kotlin-jdk-annotations中添加了一个好的措施。我还在gradle中配置了kotlin插件。

我正撞在一堵砖墙上,因为我喜欢kotlin作为java的替代品,这是一种耻辱。但是这个问题可能会破坏我的计划。

任何帮助都将非常感谢!!!

更新

Gradle构建脚本:

apply plugin: 'java'
apply plugin: 'kotlin'

sourceCompatibility = 1.7
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile "org.jetbrains.kotlin:kotlin-stdlib:0.9.976"
}
buildscript {
    ext.kotlin_version = '0.9.976'
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.9.976"
        classpath 'org.jetbrains.kotlin:kotlin-stdlib:0.9.976'
    }
}

Java版本: 1.7.x Kotlin版本: 0.9.976 Gradle版本: 1.6

1 个答案:

答案 0 :(得分:2)

我想出了这个问题,因为我们正在使用一个复杂的gradle设置(它正在加载其他5个脚本;(),gradle脚本没有将kotlin运行时添加到路径中。一旦我修复它似乎工作。