在具有不同配置文件(实际上是 Maven 配置文件)的书面依赖项中,我将其包含到我的项目中。我如何选择应使用某些属性文件中的属性来构建我的项目的依赖项中的哪个配置文件,例如:
spring.profileinmydepedency = prod
你能展示一些例子,如何在 Spring (而不是启动)中做到这一点?
最佳答案
你不能。
对于一个 Maven 模块有不同的 Maven 配置文件意味着使用特定的配置文件构建该项目将产生一个特定的构建 - Maven Artefact。
在 Spring 项目(也是一个 Maven 项目)pom.xml 文件中,声明对已构建的 Maven Artifact 的依赖关系。
在 Spring 中,您无法定义属性并将使用该配置文件预构建的二进制文件绑定(bind)到您的应用程序。
您可以采用的最直接的方法是从 Spring 项目中的依赖项复制配置文件。
例如,如果您的依赖项具有配置文件 P1 和 P2,并且构建 Artifact 分别为 dep-p1 和 dep-p2,则在 Spring 的 pom.xml 中您将拥有:
<profiles>
<profile>
<id>spring-p1</id>
…
<dependencies>
<dependency>dep-p1</dependency>
</dependencies>
…
</profile>
<profile>
<id>spring-p2</id>
…
<dependencies>
<dependency>dep-p2</dependency>
</dependencies>
…
</profile>
</profiles>
然后,当您使用 spring-p1 配置文件构建项目时,它将包含 dep-p1 依赖项。
关于java - Spring - 外部依赖中的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48934709/