问题描述
我有 2 个 Spring Boot 应用程序。 AppA 是一个 jar,主要充当服务(服务、外部 api 调用等)。 AppB 是一场以 AppA 作为依赖的战争。
AppA (jar) 目前没有 MySvcApplication.java
文件 @SpringBootApplication
,因为它从来没有单独运行过,我注意到在运行 AppB 时,该文件从未运行过。 AppB (war) 有一个 MyMainApplication.java
文件,其中 @SpringBootApplication
具有 scanBasePackages
属性。
我希望 AppA 和 AppB 拥有自己的属性文件,如果可能,还有一个共享的属性文件(在 svc 内)(即 svc.properties、main-app.properties、common.properties)。
我已经阅读了几种更改文件名的方法(应用程序内、命令行)(通过 spring.config.name),但这适用于战争(在 MyMainApplication.java
中),但不适用于依赖 jar。
SpringApplicationBuilder()
.properties("spring.config.name=myproject")
.sources(MyApplication.class)
.run(args);
有什么想法吗?
解决方法
在 AppB 中为共享属性创建一个新的属性文件(例如 svc.properties),并将其包含在 AppB 的 application.properties 中 spring.profiles.include=svc 它应该可以工作。