我有這個簡單的build.gradle
搖籃找不到根項目的方法,但我使用子項目
subprojects {
test {}
}
project(':module1') {
apply plugin: 'java'
}
和搖籃抱怨說,它無法找到根項目方法test()
。但爲什麼它試圖在根項目上找到它?我讀here子項目不包括根項目。如果我把println name
放到子項目中,我也不會在輸出中看到根項目。
我有這個簡單的build.gradle
搖籃找不到根項目的方法,但我使用子項目
subprojects {
test {}
}
project(':module1') {
apply plugin: 'java'
}
和搖籃抱怨說,它無法找到根項目方法test()
。但爲什麼它試圖在根項目上找到它?我讀here子項目不包括根項目。如果我把println name
放到子項目中,我也不會在輸出中看到根項目。
@highstakes是對的。但假設你只有一個子項目(module1),這只是一個時間問題。首先需要應用java插件,然後才能配置此插件的任務。帶你建立文件和更改順序,你會得到:
project(':module1') {
apply plugin: 'java'
}
subprojects {
test {}
}
這將工作,只要你有一個子項目。
您收到的錯誤消息是Gradle將測試{}作爲傳遞空封閉函數的函數調用,並且正在查找根項目中此測試函數的定義。由於該函數沒有被添加(通過java插件)在這個地方,你會得到這個錯誤消息。
您只爲一個子項目應用java插件,以便其他人不會有可用的測試閉包。
您可以嘗試明確應用插件給定的子項目是這樣的:
項目( ':模塊1'){項目 - > project.apply插件:「Java的 }
這有幫助,謝謝!這是錯誤消息困惑我,我期望「無法找到方法測試()模塊1項目」,而不是「根項目」。 – Yaroslav