一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 創建多模塊項目的超詳細教程

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

2020-09-30 14:58zh452647457 Java教程

這篇文章主要介紹了IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 創建多模塊項目的教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

環境介紹 IDEA

我用的是2020.2

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

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

創建 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>: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

執行結果

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: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

執行結果

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多模塊項內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/zh452647457/article/details/108844078

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产免费久久久久久 | 999热这里只有精品 999久久久免费精品国产牛牛 | 爸爸的宝贝小说全文在线阅读 | 日本免费一二区 | freexxxx性护士第一次 | 白丝校花被扒开双腿喷水小说 | 国产精品主播在线 | 国语视频高清在线观看 | 欧美黑人换爱交换乱理伦片 | 精品国产爱久久 | 国产高清一区二区 | 亚洲一卡2卡三卡4卡5卡组 | 国产综合成色在线视频 | 91久久青青草原线免费 | 久久草福利自拍视频在线观看 | 青草青青在线视频观看 | 欧美xbxbxbxb大片| 成人中文字幕在线高清 | 青青草原国产 | 高跟翘臀老师后进式视频 | 四虎黄色影视 | 日本视频在线观看播放 | 四虎院影永久在线观看 | 四虎影院新网址 | 国产成人咱精品视频免费网站 | 久久视频在线视频观看天天看视频 | 免费在线观看日韩 | 久久精品视频uu | 成人精品视频一区二区在线 | 日韩精品欧美国产精品亚 | china中国小帅gayxnxx | 亚洲精品综合 | 亚洲AV午夜福利精品香蕉麻豆 | 四虎成人影院 | 欧美日韩亚毛片免费观看 | 亚洲成人伦理 | 50度灰破解版v5.7.0 | 催眠 迷j系列小说 | 色综久久天天综合绕视看 | 性一交一乱一伧老太 | 日韩一 |