使用gradle管理spring-boot專案
使用gradle管理spring-boot專案
在前段時間,spring的原始碼從maven轉換到了gradle。同為構建工具,為什麼spring要用的gradle而放棄maven呢?
gradle與maven的不同點
- gradle是一個使用基於Groovy的DSL(領域特定語言)的構建自動化系統。
- maven是一個軟體專案管理系統,主要用於Java專案。
- gradle 不使用XML檔案來宣告專案配置。
- maven使用XML檔案來宣告專案,其依賴項,構建順序及其必需的外掛。
- gradle基於完成工作的任務依賴關係圖。
- maven基於固定模型和線性模型的階段。
- 在Gradle中,主要目標是為專案新增功能。
- 在Maven中,主要目標與專案階段有關。
- gradle通過跟蹤輸入和輸出任務來避免工作,並且僅執行已更改的任務。因此,它提供了更快的效能。
- maven不使用構建快取。因此,它的構建時間比Gradle慢。
- Gradle是高度可定製的;它提供了廣泛的IDE支援自定義版本。
- Maven的引數和要求數量有限,因此自定義有點複雜。
- Gradle避免了Java的編譯。
- 在Maven中,編譯是必需的。
還有很多不同的地方,我只總結了以上幾點。
使用gradle建立spring-boot專案
既然spring的原始碼轉換為了gradle,為了和spring編譯工具一致,現在開始使用gradle進行spring-boot專案的管理。
建立資料夾
在指定的資料夾下面建立資料夾,如我在D盤:
D:/> mkdir spring-boot-study-gradle
進入資料夾
D:/> cd spring-boot-study-gradle
##建立gradle專案 初始化
D:/spring-boot-study-gradle> gradle init
##選擇生成的型別,直接回車就好了
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4]
##選擇先關的指令碼語言,直接回車就好了
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2]
##選擇專案的名稱,預設就是資料夾名,可以根據自己需求自己寫
Project name (default: test):
##構建成功
> Task :init
Get more help with your project: https://guides.gradle.org/creating-new-gradle-builds
BUILD SUCCESSFUL in 2m 5s
2 actionable tasks: 2 executed
spring-boot-study-gradle
因為這個專案是主專案,以後相關的spring-boot學習的專案都在這個目錄下面。我們在當前目錄下建立一個子專案的資料夾:
D:/spring-boot-study-gradle> mkdir spring-boot-study-gradle-demo1
##在spring-boot-study-gradle-demo1建立一個build.gradle(gradle構建檔案),setting.gradle(gradle設定檔案)
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>type nul>build.gradle
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>type nul>settings.gradle
#將相關內容寫入build.gradle和setting.gradle(建議用相關idea編輯,我本地使用的vsCode)
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>echo "mainClassName = 'org.tony.springboot.demo1.Main'" > build.gradle
##mainClassName 指定啟動類
D:/spring-boot-study-gradle/spring-boot-study-gradle-demo1>echo 'rootProject.name = "spring-boot-study-gradle-demo1"' > settings.gradle
##rootProject.name指定專案的名稱
之後就可以在vsCode中去建立相關的java檔案等操作。
因為spring-boot-study-gradle是父工程,我們需要修改spring-boot-study-gradle的build.gradle和settings.gradle.
- build.gradle
//指定所有專案的maven地址
allprojects{
repositories {
maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
}
//指定子專案的版本
subprojects{
version="1.0"
}
//相關spring-boot-study-gradle-demo1的配置
project("spring-boot-study-gradle-demo1"){
//申請相關的外掛
apply plugin:'java-library'
apply plugin: 'application'
//新增相應的依賴
dependencies{
compile('org.springframework.boot:spring-boot-starter-web:2.3.1.RELEASE')
testCompile('junit:junit:4.13')
}
}
- settings.gradle
rootProject.name = 'spring-boot-cloud-study-gradle'
//匯入spring-boot-study-gradle-demo1子專案,將子專案和父專案關聯
include "spring-boot-study-gradle-demo1"
目錄結構如圖
之後就可以進行相關的程式碼開發了。
相關文章
- 【Java】【Gradle】Gradle構建SpringBoot專案,Gradle模組化管理JavaGradleSpring Boot
- 使用IDEA建立gradle專案IdeaGradle
- 使用gradle搭建spring boot專案GradleSpring Boot
- 使用gradle構建springboot專案GradleSpring Boot
- springboot gradle demo (使用 Gradle 構建的 Spring Boot專案)Spring BootGradle
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- 專案實戰之gradle在實際專案中的使用Gradle
- 使用idea新建springBoot+Gradle專案(超詳細)IdeaSpring BootGradle
- maven 專案轉化成 gradle 專案實踐MavenGradle
- Gradle之多專案構建Gradle
- idea gradle 專案依賴IdeaGradle
- Gradle構建SpringBoot專案GradleSpring Boot
- 專案構建工具 GradleGradle
- IntelliJ IDEA 建立Gradle/Java 專案IntelliJIdeaGradleJava
- IDEA建立SpringMVC+Gradle專案IdeaSpringMVCGradle
- Webstorm 使用 Git 管理專案WebORMGit
- spring-boot專案的docker整合化部署(一)SpringbootDocker
- 使用gradle外掛釋出專案到nexus中央倉庫Gradle
- Gradle快速構建Spring Boot專案GradleSpring Boot
- 在gradle中構建java專案GradleJava
- 把spring-boot專案部署到tomcat中的方法SpringbootTomcat
- Spring-Boot專案中配置redis註解快取SpringbootRedis快取
- 使用Gradle檢視Android專案中庫的依賴關係GradleAndroid
- 如何將一個spring專案重構成spring-boot專案(僅後臺)Springboot
- Gradle學習系列----多專案構建Gradle
- Gradle入門及SpringBoot專案構建GradleSpring Boot
- Gradle學習系列—-多專案構建Gradle
- Gradle自動化專案構建之Gradle學習及實戰Gradle
- 06、使用Gradle構建的專案如何打jar包和war包GradleJAR
- 如何使用專案管理設計專案五個階段專案管理
- 使用甘特圖做專案管理專案管理
- 專案管理系統使用指南專案管理
- 使用Zoho Projects專案管理軟體Project專案管理
- K8S 建立Spring-boot專案並進行專案啟動與訪問K8SSpringboot
- 分享一下使用專案管理軟體管理專案計劃及執行專案管理
- 專案團隊使用的專案管理工具有哪些?專案管理
- spring-boot-admin對spring-boot專案進行監控Springboot
- 傳統專案管理VS敏捷專案管理專案管理敏捷