用Idea 2019.3+和Gradle5.2.1+ 構建SpringBoot多專案(二)
在企業通常的專案開發中,一個專案往往是多個Project組成的,Gradle也有類似Maven的多專案配置。
首先使用Idea 新建一個Model
選擇使用Gradle建立Model:
輸入Model的名稱
點選 Finish 完成建立
就會在根專案中建立一個子專案,子專案中會包含自己的build.gradle。而setting.gradle只有根專案會有。
開啟build.gradle檔案,會發現根專案和子專案的build.gradle檔案有很多重複的配置,能否在一處配置,所有專案中生效呢?
可以使用allprojects和subprojects實現:
在根專案的build.gradle配置如下內容,子專案就只需要配置自己需要的配置。
// 根專案及子專案都配置相關外掛、屬性
allprojects {
apply plugin: 'java'
group 'org.hazulnut'
version '1.0-SNAPSHOT'
setProperty('sourceCompatibility', 1.8)
}
// 子專案都配置相關外掛、屬性
subprojects {
repositories {
mavenCentral()
}
}
Gradle基於Groovy,對Groovy還沒認真學習下,藉助idea的智慧提示可以很清楚的知道當前作用域的變數、屬性、函式等,既然Groovy也是基於jvm,那麼直接擼碼:
// 修改子專案的build.gradle檔名稱
rootProject.children.each {
project ->
def fileName = project.name.substring(project.name.lastIndexOf('.') + 1)+".gradle"
project.setBuildFileName(fileName)
}
注:所有專案都是使用同一種命名方式,即nuts.springboot.MODEL, 則上面執行效果是:按照MODEL.gradle作為子專案的構建檔名稱。這段程式碼要放置在setting.gradle 檔案的最後,否則這段程式碼之後引入的專案的構建檔名稱還是build.gradle。若是配置在build.gradle中,無論是根專案還是子專案,都會編譯錯誤:buildFileName欄位是隻讀的。
修改後效果:
Github專案 https://github.com/HazelNutsWorkGroup/nuts.springboot.single ,
Gitee專案 https://gitee.com/sleeber/nuts.springboot.single
歡迎大家交流。
相關文章
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- IDEA_IDEA下構建多模組專案Idea
- 如何構建多模組的SpringBoot專案Spring Boot
- Gradle構建SpringBoot專案GradleSpring Boot
- 使用gradle構建springboot專案GradleSpring Boot
- SpringBoot淺析——專案構建Spring Boot
- IDEA建立SpringBoot的多模組專案教程IdeaSpring Boot
- idea建立springboot專案IdeaSpring Boot
- idea 建立springboot專案IdeaSpring Boot
- 使用IDEA建立springboot專案IdeaSpring Boot
- 利用IDEA建立gradle構建的Java多模組專案(太清晰了)IdeaGradleJava
- 【Java】【專案構建】Idea中設定Gradle/Maven多模組依賴JavaIdeaGradleMaven
- Gradle入門及SpringBoot專案構建GradleSpring Boot
- _005_SpringBoot_使用IDEA建立SpringBoot專案Spring BootIdea
- 1.idea建立springboot專案IdeaSpring Boot
- IDEA匯入SpringBoot專案教程IdeaSpring Boot
- Gradle學習系列----多專案構建Gradle
- Gradle學習系列—-多專案構建Gradle
- Idea下構建基於Gradle的Spring Boot專案IdeaGradleSpring Boot
- IDEA + maven 零基礎構建 java agent 專案IdeaMavenJava
- IDEA社群版(IDEA Community Edition)建立Springboot父子專案IdeaUnitySpring Boot
- SpringBoot學習日記(二)多模組專案Spring Boot
- webpack4構建vue專案(二)WebVue
- IDEA建立SpringBoot專案(詳細教程)IdeaSpring Boot
- 一、快速構建Spring Boot專案【springboot記錄】Spring Boot
- springboot-多模組構建Spring Boot
- springboot gradle demo (使用 Gradle 構建的 Spring Boot專案)Spring BootGradle
- idea執行springboot開源專案GunsIdeaSpring Boot
- IDEA開發SpringBoot專案問題集IdeaSpring Boot
- _003_SpringBoot_使用IDEA快速建立一個SpringBoot專案Spring BootIdea
- 從零構建Java專案(Maven+SpringBoot+Git) #02 奧斯丁專案JavaMavenSpring BootGit
- Idea 建立 父專案和子專案Idea
- 你竟然沒用 Maven 構建專案?Maven
- 【Java】【Gradle】Gradle構建SpringBoot專案,Gradle模組化管理JavaGradleSpring Boot
- 優化 iOS 專案的構建時間(二)優化iOS
- 基於IDEA的SpringBoot專案建立(三)——thymeleafIdeaSpring Boot
- IDEA匯入專案筆記二Idea筆記
- SpringBoot(二)_專案屬性配置Spring Boot