1

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 プラグインを構成しています。

Javaの代わりにkotlinが好きなので、レンガの壁に頭をぶつけています。ただし、この問題は私の計画を台無しにする可能性があります。

どんな助けでも大歓迎です!!!

アップデート:

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

4

1 に答える 1