2014-09-03 125 views
8

我試圖從除項目文件夾本身之外的其他位置構建我的gradle項目,但它總是說它無法找到構建任務。從任何位置執行gradle構建任務

什麼從來就試過至今:

須藤./myprojects/myapp/gradlew建立

須藤./myprojects/myapp/gradlew ./myprojects/myapp/build

如何從任何位置執行gradle構建任務?

+0

您不應該需要使用sudo運行構建。 – Radim 2014-09-04 05:46:13

回答

11

不同的人已經編寫(和發佈)腳本來執行gradlew從任何子項目目錄(在多項目構建中)。要從任何子目錄可靠地執行Gradle,必須通過-p設置「當前項目目錄」。如果解除這個限制會很好(這會提供很好的功能請求)。

+1

謝謝,與sudo ./myproject/myapp/gradlew -p/myproject/myapp /構建它的工作;)有這種限制的原因嗎?在我眼中沒有任何意義 – 2014-09-03 08:18:06

+1

Gradle需要知道「當前項目目錄」是什麼。目前,「當前項目目錄」默認爲當前工作目錄。除非我錯過了一些東西,否則它應該可以默認爲「最接近的子項目目錄」。但是,這需要在Gradle中完成,因爲只有Gradle知道子項目目錄是什麼。 – 2014-09-03 08:49:11

+1

大多數情況下,我使用'./gradlew:myapp:test'等命令從根目錄下的當前目錄運行shell。 – Radim 2014-09-04 05:48:07