文檔
https://docs.gradle.org/current/userguide/building_java_projects.html
從創建一個Java Application開始
Gradle為Java而生,因此內置Java標准插件:java
。根據Java項目的類型,又有兩種插件:java-library
和application
。
java-library
和application
默認包含java
插件。其中application
插件在java-library
的基礎上新增了一個run
任務,執行在build.gradle
中調用application{}
通過閉包設置的主類:
plugins {
id 'application'
}
application {
mainClassName = "com.father.Main"
}
插件java
與java-library
的區別:
標准 Java 插件和 Java Library 插件之間的主要區別在於后者引入了向消費者公開的 API 的概念。庫是一個 Java 組件,旨在供其他組件使用。這是多項目構建中非常常見的用例,但只要您有外部依賴項。
該插件公開了兩種可用於聲明依賴關系的配置:
api
和implementation
。api
應該用於聲明由庫 API 導出的依賴項,而implementation
應該用於組件聲明內部的依賴項。
源碼目錄
每個插件都有默認的源碼目錄。有時需要自行創建這些目錄。
Java默認源碼放在src/main/java/com/example
下。
Java測試代碼默認放在src/test/java/com/example
下。
Kotlin默認源碼放在src/main/kotlin/com/example
下。
Kotlin測試代碼默認放在src/test/kotlin/com/example
下。
SpringBoot插件
SpringBoot提供了boot插件
和依賴管理
兩個插件,其中依賴管理提供對起步依賴中的依賴清單POM.xml進行解析,boot插件則提供了以boot開頭的三個任務:
bootRun 啟動SpringBoot項目的測試(僅開發, 可使用spring-boot-devtools插件)
bootJar 創建可獨立運行的jar文件
bootBuildImage 創建Docker映像
在根項目中引入插件:
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
SpringBoot起步依賴
SpringBoot提供的起步依賴有:
spring-boot-starter
必須的依賴spring-boot-starter-web
Web應用依賴