用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_IDEA下構建多模組專案Idea
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- 如何構建多模組的SpringBoot專案Spring Boot
- 使用Gradle構建多模組SpringBoot專案GradleSpring Boot
- IntelliJ IDEA 構建maven多模組工程專案(詳細多圖)IntelliJIdeaMaven
- [SpringBoot學習]-IDEA建立Gradle多Module結構的SpringBoot專案Spring BootIdeaGradle
- IDEA建立SpringBoot的多模組專案教程IdeaSpring Boot
- Gradle構建SpringBoot專案GradleSpring Boot
- SpringBoot淺析——專案構建Spring Boot
- IDEA中MAVEN專案有多個子目錄,如何載入構建IdeaMaven
- Gradle構建多模組專案Gradle
- 利用IDEA建立gradle構建的Java多模組專案(太清晰了)IdeaGradleJava
- 【Java】【專案構建】Idea中設定Gradle/Maven多模組依賴JavaIdeaGradleMaven
- 使用gradle構建springboot專案GradleSpring Boot
- idea建立springboot專案IdeaSpring Boot
- idea 建立springboot專案IdeaSpring Boot
- Gradle構建多模組專案(轉)Gradle
- webpack4構建vue專案(二)WebVue
- 【喬樑】用Nant和Nunit構建C#專案NaNC#
- 使用IDEA建立springboot專案IdeaSpring Boot
- IDEA 快速建立 SpringBoot 專案IdeaSpring Boot
- IDEA + maven 零基礎構建 java agent 專案IdeaMavenJava
- SpringBoot學習日記(二)多模組專案Spring Boot
- springboot-多模組構建Spring Boot
- Gradle入門及SpringBoot專案構建GradleSpring Boot
- Gradle學習系列—-多專案構建Gradle
- Gradle學習系列----多專案構建Gradle
- 1.idea建立springboot專案IdeaSpring Boot
- 你竟然沒用 Maven 構建專案?Maven
- 優化 iOS 專案的構建時間(二)優化iOS
- 用 vue2 和 webpack 快速建構 NW.js 專案VueWebJS
- _005_SpringBoot_使用IDEA建立SpringBoot專案Spring BootIdea
- Idea下構建基於Gradle的Spring Boot專案IdeaGradleSpring Boot
- Idea 建立 父專案和子專案Idea
- IDEA建立SpringBoot專案(詳細教程)IdeaSpring Boot
- 一、快速構建Spring Boot專案【springboot記錄】Spring Boot
- 從零構建Java專案(Maven+SpringBoot+Git) #02 奧斯丁專案JavaMavenSpring BootGit
- eclipse中基於maven構建多模組專案EclipseMaven