Использование Spring Boot Application в качестве зависимости с gradle - PullRequest
0 голосов
/ 08 февраля 2019

У меня возникли проблемы с использованием приложения с загрузочной пружиной (2.1) в качестве зависимости для другого приложения с загрузочной пружиной.

Я знаю, что это не рекомендуемый подход, но по соображениям простоты я хотел быидти по этому пути.Официальная документация просто показывает, как это сделать с maven, а не как с gradle.

Проект A:

plugins {
    id "org.springframework.boot" version "2.1.1.RELEASE"
}

apply plugin: 'io.spring.dependency-management'

Проект B:

plugins {
    id "org.springframework.boot" version "2.1.1.RELEASE"
}

apply plugin: 'io.spring.dependency-management'

dependencies {
    compile project(':Project A')
}

Однако это приводит к тому, что application.properties (из ресурсов) проекта A загружаются, хотя проект b выполняется.

Кто-нибудь может дать какие-нибудь советы или может привести меня к простому работающему примеру?

Обновление:

При добавлении следующего оно работает при сборке окончательного загрузочного стакана с пружиной.К сожалению, проблема все еще существует при попытке выполнить ее непосредственно в Intellij.

jar {
  enabled= true
    exclude("**/application.properties")
}

1 Ответ

0 голосов
/ 08 февраля 2019

Я предполагаю, что ProjectB зависит от ProjectA, потому что вам нужна какая-то общая функция или сервис?Может быть, вам следует сначала извлечь какой-нибудь общий модуль из ProjectA.Например,

ProjectA-common
ProjectA-app  (runnable application with application.properties)

Затем вы можете импортировать ProjectA-common как библиотеку без проблем в application.properties.

Если вам все еще нужно включить все ProjectA, вы можете исключить из конфигурации определенную конфигурацию.И написать новый, чтобы перезаписать его.

spring:
  profiles: dev
  autoconfigure:
    exclude:
       - com.example.config.ProjectAConfiguration
       - org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...