У меня возникли проблемы с использованием приложения весенней загрузки (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")
}




Я предполагаю, что 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
Если вам все же нужно включить все ProjectS , вы можете исключить конкретную конфигурацию из свойства.
Я не думаю, что это решило проблему. В настоящее время проблема заключается в том, что application.properties также находятся в библиотеке. Мне удалось заставить его работать при сборке jar (см. обновление в вопросе), но не при запуске в Intellij.
Есть два разных способа запустить Spring на Intellij с помощью «IDE run» или с помощью Gradle. Так может ли этот метод работать через gradle?
Я знаю об этом, и это было так, как это было сделано раньше. Но для упрощения проекта для других хотелось бы его исключить.