一:新建一个gradle工程
以springboot为例
选择gradle project
可以什么都不选
选择本地gradle
二:修改工程
删除src文件
修改build.gradle文件
plugins {
// 引入 api 传递依赖的方法 用来代替compile
id 'java-library'
id 'org.springframework.boot' version '2.2.10.RELEASE' apply false
id 'io.spring.dependency-management' version '1.0.10.RELEASE' apply false
}
ext { // 自定义扩展 字段 这里定义版本信息
jjwtVersion = '0.11.1'
commonsLang3Version = '3.9'
commonsCollections4Version = '4.4'
commonsCodecVersion = '1.14'
druidVersion = '1.1.23'
mapstructVersion = '1.3.0.Final'
querydslVersion = '4.3.1'
// https://start.spring.io/actuator/info spring cloud 版本对应 json
set('springCloudVersion', "Hoxton.SR8")
set('springCloudAlibabaVersion', "2.2.1.RELEASE")
}
/* 所有子项目的通用配置 */
subprojects {
/* 使用二进制插件 */
apply plugin: 'java' /* java是Gradle的核心插件,是内置的,内置插件不需要配置依赖路径 */
apply plugin: 'idea' /* 同上 让Gradle自动生成Intellij的项目文件*/
/* 注意gradle插件不再自动应用,所以这里需要指定 */
apply plugin: 'org.springframework.boot'
/* 依赖管理插件仍然是一个spring-boot-gradle-plugin传递依赖,所以无需在build.gradle配置中明确列出此依赖。 */
apply plugin: 'io.spring.dependency-management' /* 依赖管理,用来传递spring的依赖 */
group = 'com.pay'
version = '0.0.1' /* 项目版本 */
/* 指定jdk版本 */
sourceCompatibility = '1.8'
/* java编译的时候缺省状态下会因为中文字符而失败 */
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
repositories {
mavenLocal()
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
mavenCentral()
}
/* 添加通用依赖 */
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
}
三:新建子模块
创建
创建方式和上面的创建工程的方式一样
删除文件(除src和build.gradle)
3、修改build.gradle
/* 子模块项目名,jar名 */
archivesBaseName='demo-two'
jar.enabled = true
/* 需要org.springframework.boot插件 不需要打包成可执行的jar*/
bootJar .enabled = false
4、由于这个模块只提供公共的utils,log,等,所以不需要启动类
5、在创建一个模块,创建方式同上,依赖于上一个子模块
build.gradle
archivesBaseName = 'demo-three'
jar.enabled = true
bootJar.enabled = true
dependencies {
implementation project(':demo-two') /* 子模块之间的依赖 */
}
四:修改父模块setting.gradle
/* 多模块构建 */
/* 父模块名称 */
rootProject . name= 'demo-one'
/* 引入子模块 */
include 'demo-two','demo-three'
五:修改gradle插件
删除demo-two,demo-three
展开demo-one里面由子模块的gradel插件,可统一执行脚本,如打包、
六:测试
启动项目
测试成功
————————————————
版权声明:本文为CSDN博主「xiyang.ycj」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/YCJ_xiyang/article/details/96827905
评论列表