Gradle (一) Java 应用程序、SpringBoot插件
文档
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应用依赖