91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在springboot中使用gradle構建一個多模塊項目

發布時間:2021-03-10 17:08:05 來源:億速云 閱讀:308 作者:Leah 欄目:編程語言

如何在springboot中使用gradle構建一個多模塊項目?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.創建項目

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

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

mkdir springboot-mm 
cd springboot-mm 
gradle init

如何在springboot中使用gradle構建一個多模塊項目

此時的項目結構如下:

如何在springboot中使用gradle構建一個多模塊項目

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

Linux:

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:

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 文件,引入子模塊:

include 'web','modules'

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

// 所有子項目的通用配置
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模塊的依賴:

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,加入以下配置:

bootRepackage {
  enabled = false
}

具體原因,請參考,此處。

3.添加測試代碼

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

@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,

@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構建一個多模塊項目

看完上述內容,你們掌握如何在springboot中使用gradle構建一個多模塊項目的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙游县| 凯里市| 宿迁市| 宣武区| 广安市| 济南市| 子长县| 龙岩市| 得荣县| 巴彦县| 巴东县| 清河县| 上杭县| 通城县| 翁源县| 马关县| 丹寨县| 简阳市| 嘉峪关市| 应用必备| 德化县| 文成县| 鸡东县| 上虞市| 丰县| 根河市| 密云县| 专栏| 武隆县| 竹山县| 鲜城| 镇康县| 永定县| 应用必备| 美姑县| 昆山市| 板桥市| 寿宁县| 田林县| 孟村| 海城市|