Рубрики
Без рубрики

Часть-1: Spring & Gradle – Многомодульный проект

Обзор: В этой статье мы реализуем многомодульное приложение spring boot. Мы будем использовать gradle… Помеченный как java, spring.

Обзор:

В этой статье мы реализуем многомодульное приложение spring boot. Мы будем использовать систему сборки gradle. Цель здесь состоит в том, чтобы создать приложение для микросервисов, которое будет рассмотрено в следующих статьях.

Расположение:

Здесь мы собираемся использовать плоскую компоновку, чтобы каталоги приложений оставались родными братьями и сестрами корневого каталога проекта (рис. 1). Преимущество плоской компоновки заключается в том, что мы можем иметь отдельный репозиторий git для каждого приложения. В файле settings.gradle вашего корневого проекта нам нужно использовать include Flat с подпроектом.

Рис. 1. Структура каталогов

Проект: root

Этот проект содержит только файлы конфигурации проекта, такие как build.gradle и settings.gradle.

настройки.gradle:

rootProject.name = 'root'

includeFlat 'utilities', 'exception-handler', 'discovery-server'
includeFlat 'enquiry', 'api-gateway', 'registration'

build.gradle:

buildscript {

 ext {
  springBootVersion = '2.1.6.RELEASE' 
 }

repositories {
 mavenCentral()
}

dependencies {
 classpath("org.springframework.boot:spring-boot-gradle- plugin:${springBootVersion}")
 }
}

subprojects {

 apply plugin: 'java'
 apply plugin: 'org.springframework.boot'
 apply plugin: 'io.spring.dependency-management'

 group = 'com.apandiyan'
 version = '0.0.1'
 sourceCompatibility = '1.8'
 repositories {
  mavenCentral()
 }

 ext {
  set('springCloudVersion', "Greenwich.SR1")
 }

 dependencies {
  implementation 'org.springframework.boot:spring-boot-starter-web'
  testImplementation 'org.springframework.boot:spring-boot-starter-test'
 }

 dependencyManagement {
  imports {
   mavenBom "org.springframework.cloud:spring-cloud- dependencies:${springCloudVersion}"
  }
 }
}

Источник: https://github.com/pandiyan90/microservice-blog/tree/master/root

Оригинал: “https://dev.to/pandiyan90/part-1-spring-gradle-multi-module-project-1j8a”