赞
踩
Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快,这就给构建一个多模块Gradle项目造成了不少的困难。因此本文采用:Java+Gradle+Groovy的方式来构建一个多模块项目。
Gradle 7.5.1
Spring Boot 2.6.1
OpenJDK 17
3.1 构建一个父项目工程
创建好后,我们为父工程指定相应的仓库和配置,类似配置maven一样
然后在设置项目的jdk并点击小图标,此时父工程创建完毕。
3.2创建父工程下的子模块
最终生成的如下图所示,将没用的目录和文件干掉。如父工程的src文件,子工程下的test文件
新建完后我们看父工程下的Settings.gradle文件下有没有子模块的文件名字
至此建立建立子模块完毕,同理,建立模块2和3等等,步骤和建立模块1一致。
3.3 配置父子工程依赖
我们想要的效果是,子工程可以继承父工程的依赖。
依赖
buildscript{ allprojects{ gradle.projectsEvaluated { allprojects{ jar{ enabled = true} } } } } plugins { id 'org.springframework.boot' version '2.6.1' } allprojects{ repositories { mavenCentral()} group 'com.lanhai' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'idea' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' bootJar { enabled = true} } subprojects { sourceCompatibility = 17 targetCompatibility = 17 configurations { compileOnly { extendsFrom annotationProcessor } } dependencies { // implementation('org.springframework.boot:spring-boot-starter-web') { // exclude group: 'org.springframework.boot', module:'spring-boot-starter-tomcat' // } implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-jetty' implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' implementation 'org.springframework.boot:spring-boot-starter-cache' compileOnly 'org.projectlombok:lombok' runtimeOnly 'mysql:mysql-connector-java' annotationProcessor 'org.projectlombok:lombok' annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" implementation 'com.alibaba:fastjson:1.2.78' implementation 'cn.hutool:hutool-core:5.7.17' implementation 'org.springdoc:springdoc-openapi-ui:1.6.3' implementation 'redis.clients:jedis' } }
子模块内面东西全部去掉,需要自己的依赖就在里面加
3.4 打包成可运行的jar包
查看生成的jar包
至此全部结束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。