java - Spring - 外部依赖中的配置文件

标签 java spring maven properties profiles

在具有不同配置文件(实际上是 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/

相关文章:

java - 通过远程客户端查看 swing 应用程序与直接查看的区别

java - 如何检索 Spring Data 的 PersistentEntity?

java - Spring 使用 Hibernate 消费 Json 并返回值

java - Tycho 无法解决片段对其他片段的依赖

java - 对二维数组进行冒泡排序时出现空指针异常

java - JButton字体在不同电脑上显示不同

java - Elasticsearch - 分配分片

java - jpa hibernate @transactional 配置

maven - 带有 Eclipse Jetty 的 Maven 插件的奇怪 NoClassDef-s

java - jar 顶层内的多个入口点(主类)