maven 在Sping Boot 中从POM中的属性文件传递数据库信息

9wbgstp7  于 2023-06-05  发布在  Maven
关注(0)|答案(1)|浏览(138)

我想使用flyway插件,它需要在POM中进行以下配置

<plugin>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
            <configuration>
                <url>${db.url}</url>
                <user>${db.username}</user>
                <password>${db.password}</password>
            </configuration>
        </plugin>

我试着创造这样的属性

<properties>
    <db.url>${spring.datasource.url}</db.url>
    <db.username>${spring.datasource.username}</db.username>
    <db.password>${spring.datasource.password}</db.password>
</properties>

但是,它们不会从属性文件中提取。我不能让这些值在pom中是静态的,因为它们在每个环境中都是不同的,而且我也不希望凭证被存储到git中。
如何设置flyway插件并从属性中选择这些信息?

o8x7eapl

o8x7eapl1#

利用环境变量是配置凭据的有效策略。此方法允许您在POM文件中进行引用,如下所示:

<configuration>
    <url>${env.DB_URL}</url>
    <user>${env.DB_USERNAME}</user>
    <password>${env.DB_PASSWORD}</password>
</configuration>

在此上下文中,DB_URLDB_USERNAMEDB_PASSWORD象征环境变量,应在构建环境中建立。

相关问题