最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 創(chuàng)建多模塊項目的超詳細教程

 更新時間:2020年09月30日 09:49:04   作者:zh452647457  
這篇文章主要介紹了IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 創(chuàng)建多模塊項目的教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

環(huán)境介紹 IDEA

我用的是2020.2

在這里插入圖片描述

Gradle

安裝參考 Gradle安裝配置

我這安裝的是6.6.1

C:\Users\herion>gradle -v

------------------------------------------------------------
Gradle 6.6.1
------------------------------------------------------------

Build time: 2020-08-25 16:29:12 UTC
Revision: f2d1fb54a951d8b11d25748e4711bec8d128d7e3

Kotlin: 1.3.72
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM: 1.8.0_211 (Oracle Corporation 25.211-b12)
OS: Windows 10 10.0 amd64

創(chuàng)建 gradle-parent New Project --> Spring Initalizr 選擇jdk版本,我這里使用1.8

在這里插入圖片描述

Next

–> 根據(jù)需求修改 Group、Artifact、version 、Type、name、package 等,選擇所需依賴創(chuàng)建項目

在這里插入圖片描述

創(chuàng)建成功后刪除src 目錄

在這里插入圖片描述 

創(chuàng)建子模塊 gradle-demo

選中g(shù)radle-parent–> new -->Module

在這里插入圖片描述

創(chuàng)建子模塊操作與創(chuàng)建gradle-parent 雷同,這里就不做復(fù)述了,創(chuàng)建好gradle-demo后在gradle-parent的settings.gradle 中引入模塊依賴 include ‘gradle-demo'

在這里插入圖片描述

刪除gradle-demo 中settings.gradle文件,否則不能喝gradle-parent建立依賴關(guān)系

在這里插入圖片描述

定義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()
 }
}

發(fā)布插件配置

 /**
 * 發(fā)布插件
 */
 publishing {
 publications {
 mavenJava(MavenPublication) {
 from components.java
 versionMapping {
  usage('java-api') {
  fromResolutionOf('runtimeClasspath')
  }
  usage('java-runtime') {
  fromResolutionResult()
  }
 }
 }
 }
 // 發(fā)布倉庫
 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>:tasks
For example, try running gradle :gradle-common:tasks

Deprecated 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_warnings

BUILD SUCCESSFUL in 4s
1 actionable task: 1 executed

編譯項目

$ gradle build

Deprecated 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_warnings

BUILD SUCCESSFUL in 5s
12 actionable tasks: 12 up-to-date

執(zhí)行結(jié)果

在這里插入圖片描述

發(fā)布jar包到nexus 命令

$ gradle publishMavenJavaPublicationToMavenRepository
> Task :gradle-common:publishMavenJavaPublicationToMavenRepository
> Task :gradle-demo:publishMavenJavaPublicationToMavenRepository
> Task :gradle-demo2:publishMavenJavaPublicationToMavenRepository
Deprecated 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_warnings
BUILD SUCCESSFUL in 24s
16 actionable tasks: 13 executed, 3 up-to-date

執(zhí)行結(jié)果

在這里插入圖片描述 

gradle-demo 驗證 啟動項目

在這里插入圖片描述

瀏覽器訪問
http://localhost:8080/helllo?name=herion

在這里插入圖片描述

demo 源碼地址

到此這篇關(guān)于IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 創(chuàng)建多模塊項目的文章就介紹到這了,更多相關(guān)idea+Gradle+springboot多模塊項內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java集合類之TreeSet的用法詳解

    Java集合類之TreeSet的用法詳解

    這篇文章主要為大家詳細介紹了Java集合類中TreeSet的用法,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定的幫助,感興趣的可以了解一下
    2022-08-08
  • RabbitMQ實現(xiàn)延時消息的兩種方法實戰(zhàn)教程

    RabbitMQ實現(xiàn)延時消息的兩種方法實戰(zhàn)教程

    這篇文章主要介紹了RabbitMQ實現(xiàn)延時消息的兩種方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • java 中接口和抽象類的區(qū)別與對比

    java 中接口和抽象類的區(qū)別與對比

    這篇文章主要介紹了java 中接口和抽象類的區(qū)別與對比的相關(guān)資料,這里詳細說明他們之家的區(qū)別,需要的朋友可以參考下
    2017-08-08
  • java高質(zhì)量縮放圖片的示例代碼

    java高質(zhì)量縮放圖片的示例代碼

    這篇文章主要介紹了java高質(zhì)量縮放圖片的示例代碼,幫助大家更好的使用Java處理圖片,感興趣的朋友可以了解下
    2020-09-09
  • restemplate請求亂碼之content-encoding=“gzip“示例詳解

    restemplate請求亂碼之content-encoding=“gzip“示例詳解

    RestTemplate從Spring3.0開始支持的一個HTTP請求工具,它提供了常見的REST請求方案的模板,及一些通用的請求執(zhí)行方法 exchange 以及 execute,接下來通過本文給大家介紹restemplate請求亂碼之content-encoding=“gzip“,需要的朋友可以參考下
    2024-03-03
  • Java源碼解析重寫鎖的設(shè)計結(jié)構(gòu)和細節(jié)

    Java源碼解析重寫鎖的設(shè)計結(jié)構(gòu)和細節(jié)

    這篇文章主要為大家介紹了Java源碼解析重寫鎖的設(shè)計結(jié)構(gòu)和細節(jié),這小節(jié)我們以共享鎖作為案列,自定義一個共享鎖。有需要的朋友可以借鑒參考下
    2022-03-03
  • HashMap在JDK7與JDK8中的實現(xiàn)過程解析

    HashMap在JDK7與JDK8中的實現(xiàn)過程解析

    這幾天學(xué)習(xí)了HashMap的底層實現(xiàn),但是發(fā)現(xiàn)好幾個版本的,代碼不一,很多文章都是舊版本JDK1.6.JDK1.7的?,F(xiàn)在我來分析下JDK7與JDK8中HashMap的實現(xiàn)過程
    2021-09-09
  • idea自動加載html、js而無需重啟進程的操作

    idea自動加載html、js而無需重啟進程的操作

    這篇文章主要介紹了idea自動加載html、js而無需重啟進程的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • spring security實現(xiàn)下次自動登錄功能過程解析

    spring security實現(xiàn)下次自動登錄功能過程解析

    這篇文章主要介紹了spring security實現(xiàn)記住我下次自動登錄功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • sprng和struts有什么區(qū)別?

    sprng和struts有什么區(qū)別?

    Spring和Struts都是近年來比較流行的框架,Struts主要用于表示層,Spring用于業(yè)務(wù)層,以及Hiberate主要用于持久層,
    2015-06-06

最新評論

临夏县| 大悟县| 德令哈市| 潮安县| 桃园县| 霍邱县| 兴海县| 盐津县| 许昌市| 沧州市| 建水县| 连云港市| 绥江县| 汕尾市| 上思县| 宁波市| 阳新县| 新和县| 临安市| 玉山县| 永康市| 寿光市| 阳曲县| 双桥区| 洛南县| 昭苏县| 清远市| 鞍山市| 民乐县| 车致| 霍州市| 林周县| 湘西| 肥东县| 米脂县| 麟游县| 泗洪县| 惠安县| 乐业县| 甘谷县| 勃利县|