springboot多模块 gradle打包
时间: 2024-05-03 20:16:00 浏览: 18
Spring Boot 多模块项目结构一般如下:
```
├── parent
│ ├── module1
│ ├── module2
│ └── pom.xml
├── pom.xml
└── README.md
```
其中,`parent` 为父项目,`module1` 和 `module2` 为子模块。
在实际开发中,每个子模块都会有自己的 `pom.xml` 文件,并且通过 `parent` 模块的 `pom.xml` 进行统一管理。
Gradle 是一款基于 Groovy 的构建工具,类似于 Maven。Gradle 也可以用于构建 Spring Boot 多模块项目。
Gradle 的多模块项目结构与 Maven 类似,也是一个包含多个子项目的根目录,每个子项目有自己的 build.gradle 文件。
下面是一个简单的 Gradle 多模块项目结构:
```
├── build.gradle
├── settings.gradle
├── module1
│ └── build.gradle
└── module2
└── build.gradle
```
其中,根目录下的 `build.gradle` 和 `settings.gradle` 分别用于配置整个项目和所有子项目的基本信息,每个子项目有自己的 `build.gradle` 配置文件。
关于 Gradle 如何打包 Spring Boot 多模块项目,可以参考下面的示例:
```
plugins {
id 'org.springframework.boot' version '2.4.0'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java.sourceCompatibility = '11'
subprojects {
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java.sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation platform('org.springframework.boot:spring-boot-dependencies:2.4.0')
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
}
task packageAll(type: Zip) {
baseName = 'my-application'
version = ''
destinationDir = file("$buildDir/distributions")
from subprojects.output
}
```
在上述示例中,使用了 Gradle 的 `subprojects` 语法,对所有子项目进行了统一配置,并且定义了一个名为 `packageAll` 的任务,用于打包所有子项目的输出文件。执行 `gradle packageAll` 命令即可生成包含所有子项目输出文件的 zip 包。