您的位置:首页技术文章
文章详情页

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

【字号: 日期:2023-09-24 14:36:14浏览:17作者:猪猪

环境介绍 IDEA

我用的是2020.2

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

Gradle

安装参考 Gradle安装配置

我这安装的是6.6.1

C:Usersherion>gradle -v------------------------------------------------------------Gradle 6.6.1------------------------------------------------------------Build time: 2020-08-25 16:29:12 UTCRevision: f2d1fb54a951d8b11d25748e4711bec8d128d7e3Kotlin: 1.3.72Groovy: 2.5.12Ant: Apache Ant(TM) version 1.10.8 compiled on May 10 2020JVM: 1.8.0_211 (Oracle Corporation 25.211-b12)OS: Windows 10 10.0 amd64

创建 gradle-parent New Project --> Spring Initalizr 选择jdk版本,我这里使用1.8

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

Next

?> 根据需求修改 Group、Artifact、version 、Type、name、package 等,选择所需依赖创建项目

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

创建成功后删除src 目录

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

创建子模块 gradle-demo

选中gradle-parent?> new -->Module

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

创建子模块操作与创建gradle-parent 雷同,这里就不做复述了,创建好gradle-demo后在gradle-parent的settings.gradle 中引入模块依赖 include ‘gradle-demo’

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

删除gradle-demo 中settings.gradle文件,否则不能喝gradle-parent建立依赖关系

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

定义gradle 自身所需资源

buildscript { ext { springBootVersion = ’2.3.4.RELEASE’ springBootManagementVersion = ’1.0.8.RELEASE’ springCloudVersion = ’Hoxton.SR6’ REPOSITORY_HOME = 'http://maven.aliyun.com' } repositories { maven { url ’${REPOSITORY_HOME}/nexus/content/groups/public/’ } mavenCentral() maven { url ’https://repo.spring.io/snapshot’ } maven { url ’https://repo.spring.io/milestone’ } } dependencies { classpath('org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}') classpath('io.spring.gradle:dependency-management-plugin:${springBootManagementVersion}') }}

修改gradle-parent项目build.gradle 配置全项目通用配置

allprojects { apply plugin: ’java’ apply plugin: ’idea’ group = ’com.herion’ sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8}

子项目通用配置

subprojects { apply plugin: ’org.springframework.boot’ apply plugin: ’io.spring.dependency-management’ [compileJava, compileTestJava, javadoc]*.options*.encoding = ’UTF-8’ //仓库 repositories { maven { url ’${REPOSITORY_HOME}/nexus/content/groups/public/’ } mavenCentral() maven { url ’https://repo.spring.io/snapshot’ } maven { url ’https://repo.spring.io/milestone’ } } dependencies { implementation ’org.springframework.boot:spring-boot-starter’ compileOnly ’org.projectlombok:lombok’ developmentOnly ’org.springframework.boot:spring-boot-devtools’ annotationProcessor ’org.springframework.boot:spring-boot-configuration-processor’ annotationProcessor ’org.projectlombok:lombok’ testImplementation(’org.springframework.boot:spring-boot-starter-test’) { exclude group: ’org.junit.vintage’, module: ’junit-vintage-engine’ } } dependencyManagement { imports { mavenBom('org.springframework.boot:spring-boot-dependencies:${springBootVersion}') } imports { mavenBom 'org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}' } } test { useJUnitPlatform() }}

发布插件配置

/** * 发布插件 */ publishing { publications { mavenJava(MavenPublication) { from components.java versionMapping { usage(’java-api’) { fromResolutionOf(’runtimeClasspath’) } usage(’java-runtime’) { fromResolutionResult() } } } } // 发布仓库 repositories { maven { // TODO 换成自己的私服地址 def releasesRepoUrl = 'http://my.repo.com/nexus/repository/maven-releases' def snapshotsRepoUrl = 'http://my.repo..com/nexus/repository/maven-snapshots' url = version.endsWith(’SNAPSHOT’) ? snapshotsRepoUrl : releasesRepoUrl credentials { username nexusUser password nexusPassword } } } } configurations { [apiElements, runtimeElements].each { it.outgoing.artifacts.removeIf { it.buildDependencies.getDependencies(null).contains(jar) } it.outgoing.artifact(bootJar) } }

验证

Gradle 查看所有项目

gradle projects> Task :projects------------------------------------------------------------Root project------------------------------------------------------------Root project ’gradle-parent’+--- Project ’:gradle-common’+--- Project ’:gradle-demo’--- Project ’:gradle-demo2’To see a list of the tasks of a project, run gradle <project-path>:tasksFor example, try running gradle :gradle-common:tasksDeprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.Use ’--warning-mode all’ to show the individual deprecation warnings.See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 4s1 actionable task: 1 executed

编译项目

$ gradle buildDeprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.Use ’--warning-mode all’ to show the individual deprecation warnings.See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 5s12 actionable tasks: 12 up-to-date

执行结果

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

发布jar包到nexus 命令

$ gradle publishMavenJavaPublicationToMavenRepository> Task :gradle-common:publishMavenJavaPublicationToMavenRepository> Task :gradle-demo:publishMavenJavaPublicationToMavenRepository> Task :gradle-demo2:publishMavenJavaPublicationToMavenRepositoryDeprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.Use ’--warning-mode all’ to show the individual deprecation warnings.See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 24s16 actionable tasks: 13 executed, 3 up-to-date

执行结果

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

gradle-demo 验证 启动项目

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

浏览器访问http://localhost:8080/helllo?name=herion

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

demo 源码地址

到此这篇关于IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的文章就介绍到这了,更多相关idea+Gradle+springboot多模块项内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Spring
相关文章: