2016-07-14 83 views
3

我是新來的gradle,並且出現一個構建錯誤,我不太明白。我的項目只是一個空目錄結構,沒有Java源代碼。這裏是我的根的build.gradle文件使用gradle生成錯誤

allprojects { 
    //Put instructions for all projects 
    task hello << { task -> println "I'm $task.project.name" } 
} 

subprojects { 
    //Put instructions for each sub project 
    apply plugin: "java" 
    repositories { 
     mavenCentral() 
    } 
} 

dependencies { 
    testCompile group: 'junit', name: 'junit', version: '4.+' 
} 

當我執行gradle這個build命令,因爲它不知道testCompile方法與此消息構建失敗:

找不到方法testCompile( )在根項目上的參數[{group = junit,name = junit,version = 4. +}]

我使用Gradle 2.5。

我明白這個方法是我加載的java插件的一部分。我看不出什麼地方出了問題,你能幫忙嗎? Thx!

+0

依賴關係塊可能屬於子項目塊內,是嗎? – dnault

+0

這是抱怨testCompile不存在,因爲你沒有應用'java'插件* this * build文件。 – dnault

+0

正如我已經說過的,我是新來的gradle,所以如何將java插件應用到此構建文件? –

回答

3

java插件僅適用於子項目,因此由java插件添加的testCompile配置只能用於子項目。下面的工作:

allprojects { 
    //Put instructions for all projects 
    task hello << { task -> println "I'm $task.project.name" } 
} 

subprojects { 
    //Put instructions for each sub project 
    apply plugin: "java" 
    repositories { 
     mavenCentral() 
    } 



    dependencies { 
     testCompile group: 'junit', name: 'junit', version: '4.+' 
    } 
} 
0

這是說,它無法找到參數的方法testCompile檢查你拼寫正確,確保你有「junit」的名稱和組都是正確的,也是版本正確的另一個修復此問題是在子項目塊中添加testCompile行。