2014-12-02 5 views
1

Kotlin을 기존 Java 응용 프로그램과 통합하려고합니다. 그래서 그것을 테스트하기 위해 간단한 kotlin 파일과 유닛 테스트 (java)를 작성합니다.이 테스트는 간단한 작업을 수행합니다. 단위 테스트의 목적은 모든 구성이 올바른지 확인하는 것입니다. 사실 java에서 kotlin 클래스를 호출 할 수 있습니다.오류 : kObject에 액세스 할 수 없습니다 - kotlin.jvm.internal.KObject에 대한 클래스 파일이 없습니다.

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 

을, 나 또한 코 틀린-JDK에 추가 좋은 측정만을위한 주석. 나는 또한 kotlin 플러그인을 gradle에서 구성했습니다.

저는 벽돌 벽에 머리를 대고 있습니다. 나는 자바 대신 코 틀린을 좋아하기 때문에 수치 스러울 것입니다. 그러나이 문제는 내 계획을 폐지시킬 수 있습니다.

모든 도움을 주시면 대단히 감사하겠습니다.

업데이트 :

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' 
    } 
} 

자바 버전 : 1.7.x 이상 코 틀린 버전 : 0.9.976 Gradle을 버전 : 1.6

+0

build.gradle 파일을 게시하십시오. – vzamanillo

+0

사용중인 Gradle 용 Kotlin 컴파일러, 런타임 및 Kotlin 플러그인의 정확한 버전을 공유하십시오. 또한 시험을 정확히 어떻게 수행하는지 알려주십시오. 다른 모든 구성 세부 사항도 만족 스러울 것입니다. –

+0

내 질문에 gradle 스크립트, kotlin, java 및 gradle 버전이 포함되도록 업데이트되었습니다. – WolfBane

답변

2

I 우리가 회오리 모양의 그라데이션 설정을 사용하고 있기 때문에이 문제를 알아 냈습니다. cripts;(), gradle 스크립트는 kotlin 런타임을 경로에 추가하지 않았습니다. 일단 내가 그것을 고정 것으로 보인다 고정합니다.