2017-08-11 100 views
0

我正在閱讀Kotlin in Action書中的示例。該gradle這個劇本打造專業化爲:使用Gradle和Kotlin編譯失敗

group 'kotlin-in-action' 
version '1.0-SNAPSHOT' 

buildscript { 
    ext.kotlin_version = '1.1.2-2' 

    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
    } 
} 

apply plugin: 'kotlin' 

repositories { 
    mavenCentral() 
} 
apply plugin: 'java' 

dependencies { 
    testCompile 'junit:junit:4.12' 
} 

dependencies { 
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 
    compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" 
    compile "junit:junit:4.12" 
    compile 'junit:junit:4.12' 
    compile 'junit:junit:4.12' 
} 

sourceSets { 
    main.kotlin.srcDirs += 'src' 
} 

所有腳本編譯除了使用JUnit的兩班。

package ch06.ex1_8_1_LateinitializedProperties 

import org.junit.Before 
import org.junit.Test 
import org.junit.Assert 

class MyService { 
    fun performAction(): String = "foo" 
} 

class MyTest { 
    private var myService: MyService? = null 

    @Before fun setUp() { 
     myService = MyService() 
    } 

    @Test fun testAction() { 
     Assert.assertEquals("foo", 
      myService!!.performAction()) 
    } 
} 

編譯器說它無法找到junit。我已經嘗試在IntelliJ中添加jar文件,但是這並沒有解決問題。我添加的jar文件是junit和hamscrest-core。這是所有版本4.12。

+0

顯示您的項目結構。 –

回答

0

我解決了這個問題。我必須添加mavan存儲庫中的Junit和hamcrest-core jar文件。