Модуль Mulit с каждым модулем обеспечивает отдых в грейдер с пружиной - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать многомодульный пружинный проект с Gradle .Каждый модуль имеет независимый сервис API отдыха.

Понятия не имею с Gradle . библиотека-приложение может обращаться к модулю приложение , но не может одновременно выполнять API каждого модуля с помощью tomcat.

Модуль 1: приложение

Файл settings.gradle:

 rootProject.name = 'application'

 include ':library-application'
 project(':library-application').projectDir = new File('../library-application')

Файл build.gradle:

    buildscript {
        ext { springBootVersion = '2.1.3.RELEASE' }
        repositories {      jcenter()
                    mavenCentral()
                    maven { url "https://plugins.gradle.org/m2/" }   
            }
        dependencies {  classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
                classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.0',
                classpath 'org.apache.openjpa:openjpa-all:2.4.1'
                classpath 'at.schmutterer.oss.gradle:gradle-openjpa:0.2.0'
             }
    }

    plugins {
        id "io.spring.dependency-management" version "1.0.5.RELEASE"
    }

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

    apply plugin: 'war'
    apply plugin: 'idea'
    apply plugin: 'maven'
    apply plugin: 'tomcat'
    bootJar {
        baseName = 'gs-multi-application'
        version = '0.0.1-SNAPSHOT'
    }
    sourceCompatibility = 1.8

    repositories { mavenCentral() }

    dependencies {
        compile('org.springframework.boot:spring-boot-starter-actuator')
        compile('org.springframework.boot:spring-boot-starter-web')
        compile project(':library-application')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }

Модуль 2-й: библиотека-приложение Файл build.gradle:

    buildscript {
        repositories {      jcenter()
                    mavenCentral()
                    maven { url "https://plugins.gradle.org/m2/" }   
            }
        dependencies {  classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
                classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.0',
                classpath 'org.apache.openjpa:openjpa-all:2.4.1'
                classpath 'at.schmutterer.oss.gradle:gradle-openjpa:0.2.0'
             }
    }

    plugins {
        id "io.spring.dependency-management" version "1.0.5.RELEASE"
    }

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

    apply plugin: 'war'
    apply plugin: 'idea'
    apply plugin: 'maven'
    apply plugin: 'tomcat'

    plugins { id "io.spring.dependency-management" version "1.0.5.RELEASE" }

    ext { springBootVersion = '2.1.3.RELEASE' }

    jar {
        baseName = 'gs-multi-library'
        version = '0.0.1-SNAPSHOT'
    }
    sourceCompatibility = 1.8

    repositories { mavenCentral() }

    dependencies {
        compile('org.springframework.boot:spring-boot-starter')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }

1 Ответ

0 голосов
/ 27 марта 2019

В общем, корневой проект в Gradle ничего не делает, а содержит только общие build.gradle и settings.properties для группировки дочерних проектов вместе.Планирование модуля должно осуществляться через управление зависимостями дочерних проектов, а не структуры папок.

Попробуйте организовать свои проекты следующим образом:

root_project (very simple project doing nothing)
  - library-application
    - Provide service controllers
  - application (depends on library-application)
    - Provide SpringBootApplication
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...