激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 編程語言 - Java教程 - springboot+gradle 構建多模塊項目的步驟

springboot+gradle 構建多模塊項目的步驟

2021-05-05 11:37formularoom Java教程

這篇文章主要介紹了springboot+gradle 構建多模塊項目的步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

springboot用以進行web項目開發的便捷性,本文不再贅述,主要是想將工作中基于springboot與gradle多模塊項目的構建經驗進行總結與歸納。

1.創建項目

首先安裝java和gradle,本文選用的java版本為1.8.0_40,gradle版本為2.10,安裝過程本文不再贅述。

其次創建項目,名稱為 springboot-mm:

?
1
2
3
mkdir springboot-mm
cd springboot-mm
gradle init

springboot+gradle 構建多模塊項目的步驟

此時的項目結構如下:

springboot+gradle 構建多模塊項目的步驟

接下來,創建多個模塊,這里以web和modules為例,先創建相關的目錄,

linux:

?
1
2
mkdir -p web/src/main/{java,resources} web/src/test/{java,resource}
mkdir -p modules/src/main/{java,resources} modules/src/test/{java,resource}

windows:

?
1
2
mkdir web\src\main\java,web\src\main\resource,web\src\test\java,web\src\test\resource
mkdir modules\src\main\java,modules\src\main\resource,modules\src\test\java,modules\src\test\resource

此時的目錄結構如下:

springboot+gradle 構建多模塊項目的步驟

2.修改配置

首先修改根目錄下的 settings.gradle 文件,引入子模塊:

?
1
include 'web','modules'

其次修改根目錄下的 build.gradle:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 所有子項目的通用配置
subprojects {
  apply plugin: 'java'
  apply plugin: 'idea'
 
  version = '1.0.0'
 
  // jvm 版本號要求
  sourcecompatibility = 1.8
  targetcompatibility = 1.8
 
  // java編譯的時候缺省狀態下會因為中文字符而失敗
  [compilejava,compiletestjava,javadoc]*.options*.encoding = 'utf-8'
 
  repositories {
    mavenlocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    mavencentral()
    jcenter()
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    maven { url 'http://maven.springframework.org/release' }
    maven { url 'http://maven.springframework.org/milestone' }
  }
 
  jar {
    manifest {
      attributes("implementation-title": "gradle")
    }
  }
 
  // 顯示當前項目下所有用于 compile 的 jar.
  task listjars(description: 'display all compile jars.') << {
    configurations.compile.each { file file -> println file.name }
  }
 
  gradle.projectsevaluated {
    tasks.withtype(javacompile) {
      options.compilerargs << "-xlint:unchecked" << "-xlint:deprecation"
    }
  }
}

接下來,使用intellij (使用版本為2016.3)導入項目,導入成功后,應該可見如下顯示:

springboot+gradle 構建多模塊項目的步驟

添加 web/build.gradle 文件并修改,來定義 web模塊的依賴:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
buildscript {
  repositories {
    mavenlocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    jcenter()
  }
 
  dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.5.release")
  }
}
 
apply plugin: 'org.springframework.boot'
 
archivesbasename = 'web'
 
ext {
  springbootvar = '1.4.5.release'
}
 
dependencies {
  compile project(':modules')
 
  // spring boot
  compile "org.springframework.boot:spring-boot-starter-web:$springbootvar"
 
  testcompile "org.springframework.boot:spring-boot-starter-test:$springbootvar"
}

添加 modules/build.gradle 文件,本例中modules是web的依賴模塊,通常可以將類似orm,支付,認證等功能分別放到不同的modules中,這樣可以降低程序的耦合性,便于業務的擴展。讀者可根據自身項目要求,對modules/build.gradle進行修改,但需要在modules/build.gradle,加入以下配置:

?
1
2
3
bootrepackage {
  enabled = false
}

具體原因,請參考,此處

3.添加測試代碼

添加web\src\main\java\com\formularoom\application.java,示例代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
@componentscan( basepackages = {"com.formularoom"})
@enableautoconfiguration
public class application extends springbootservletinitializer implements embeddedservletcontainercustomizer {
  public static void main(string args[]) {
    springapplication.run(application.class, args);
  }
 
  @override
  public void customize(configurableembeddedservletcontainer container) {
    container.setport(8081);
  }
}

添加web\src\main\java\com\formularoom\controller\test1.java,

?
1
2
3
4
5
6
7
8
9
@controller
public class test1 {
 
  @requestmapping(value = "/test1", method = requestmethod.get)
  @responsebody
  public string test1() {
    return "spring boot multiple modules test";
  }
}

使用瀏覽器訪問http://127.0.0.1:8081/test1 , 顯示如下:

springboot+gradle 構建多模塊項目的步驟

完整的示例代碼,可從此處 獲取。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/formularoom/article/details/70354562

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲福利在线视频 | 欧美有码在线观看 | lutube成人福利在线观看 | 国产小视频在线观看 | 久久草在线看 | 一级黄色免费电影 | 欧美videofree性欧美另类 | 96视频在线免费观看 | 国产二区三区在线播放 | 72pao成人国产永久免费视频 | jizzzzxxxxx| 国产精品看片 | 亚洲第一黄色网 | 国产精品午夜未成人免费观看 | 91精品国产乱码久久桃 | 91超视频 | www.17c亚洲蜜桃 | 国产精品一区视频 | 91久久精品一二三区 | 精品国产一区二区三区久久久 | 欧美精品免费一区二区三区 | 国产精品午夜在线 | 国产黄色录像片 | 国产精品久久久久久久久久电影 | 色婷婷a| 全黄裸片武则天艳史 | 久久久久久免费 | xnxx 日本19| 日韩av片在线播放 | 欧美日韩一| 亚洲aⅴ免费在线观看 | 成人在线观看免费观看 | 一本色道久久99精品综合蜜臀 | 久久久久久久久久性 | 成人短视频在线播放 | 欧美黄色大片免费观看 | 免费观看黄色一级视频 | 久久69精品久久久久久国产越南 | av电影免费播放 | 欧美在线观看视频一区 | 在线成人免费av |