使用spring boot(2.1)应用程序作为其他spring boot应用程序的依赖项时遇到了麻烦。
我知道这不是推荐的方法,但是出于简单原因,我想走这条路。官方documentation仅显示了如何使用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')
}
但是,这导致尽管执行了项目b,但项目A的application.properties(来自资源)仍在加载。
有人建议或可以指导我使用一个简单的示例吗?
更新:
通过添加以下内容,可以在构建最终的弹簧靴子罐子时起作用。不幸的是,当尝试直接在Intellij中执行该问题时,问题仍然存在。
jar {
enabled= true
exclude("**/application.properties")
}
答案 0 :(得分:0)
我假设ProjectB依赖ProjectA,因为您需要一些通用功能或服务?也许您应该首先从ProjectA中提取一些通用模块。例如
ProjectA-common
ProjectA-app (runnable application with application.properties)
然后,您可以在application.properties中将ProjectA-common导入为库,而无需任何麻烦。
如果仍然必须包括所有ProjectA,则可以从适当性排除特定配置。并写一个新的来覆盖它。
spring:
profiles: dev
autoconfigure:
exclude:
- com.example.config.ProjectAConfiguration
- org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration