Используйте приложение Spring Boot в качестве зависимости с gradle

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

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

Проект А:

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

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

Проект Б:

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 выполняется.

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

Обновлять:

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

jar {
  enabled= true
    exclude("**/application.properties")
}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
797
1

Ответы 1

Я предполагаю, что 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

Я знаю об этом, и это было так, как это было сделано раньше. Но для упрощения проекта для других хотелось бы его исключить.

user2479595 08.02.2019 10:54

Если вам все же нужно включить все ProjectS , вы можете исключить конкретную конфигурацию из свойства.

howie 09.02.2019 02:42

Я не думаю, что это решило проблему. В настоящее время проблема заключается в том, что application.properties также находятся в библиотеке. Мне удалось заставить его работать при сборке jar (см. обновление в вопросе), но не при запуске в Intellij.

user2479595 18.02.2019 15:42

Есть два разных способа запустить Spring на Intellij с помощью «IDE run» или с помощью Gradle. Так может ли этот метод работать через gradle?

howie 19.02.2019 04:26

Другие вопросы по теме

Похожие вопросы

Попытка загрузить файлы из корзины S3 с помощью Java SDK, исключение нулевого указателя на isStandardEndpoint
Является ли законной или плохой практикой перемещение служебных методов в абстрактный суперкласс?
Spring-jdbc-4.0.5.release: установить время ожидания подключения DriverManagerDataSource программно
Как реализовать безопасность типов в клиентском интерфейсе?
Apache POI: изменение текста изображения запуска
Мне нужно проверить каждое установленное приложение и проверить, разрешено ли ему использовать мобильное соединение для передачи данных
Можно ли добавлять новые пути или редактировать существующие из векторных рисунков с помощью java?
Шифрование/дешифрование строки с использованием аффинного шифра с использованием исходной таблицы 128 ASCII
Преобразование строк данных в Scala с большим количеством столбцов
Как я могу упростить эту математическую операцию в своем вызове super?