2013-11-21 33 views
2

我有一個多包的gradle項目。我在項目的根目錄下有一個build.gradle文件。當我發出gradle構建時,我在每個包中都會收到一個構建文件夾,並將包jar放在裏面。其中一個包有主類。我想用這個應用程序插件來幫助我。當我將應用程序插件和主類名稱添加到根build.gradle文件中時,執行gradle run,我得到一個錯誤,指出找不到該類。原因是因爲gradle正在build文件夾中尋找帶有classes和resources文件夾的build文件夾。我沒有看到它們生成,我認爲這是與多包場景。如何使應用程序插件適用於多個包?如何使用gradle應用程序插件來運行包含多個項目的項目?

+0

當你說「一攬子」我想你指的「項目」。如果是這樣,請更新您的問題。此鏈接介紹了多項目構建:http://www.gradle.org/docs/current/userguide/multi_project_builds.html – Jason

回答

1

假設你的意思是「項目」而不是「包」,則運行一個子項目,具有應用程序插件的方式,是在命令行上命名的項目如下。

gradle sub_project_name:run 

在多項目的建設,你可以有一種結構如下:

root_project 
| 
+-- sub1 
| 
+-- sub2 
. 
. 
. 

如果sub1包含代碼

apply plugin: 'application' 
mainClassName = com.example.MyMain 

然後你可以用命令運行MyMain類

gradle sub1:run 

這一切,詳見以下鏈接:http://www.gradle.org/docs/current/userguide/multi_project_builds.html

+0

我有類似的問題。當'application'插件應用於其中一個子項目時,在這種情況下,** sub1 **,那麼'gradle build'將生成sub1.zip和sub1.tar分發。預計分發名稱與根項目的名稱相同。我們如何解決這個命名問題? – dexter2305

相關問題