文件中的 Maven 和环境变量

问题描述 投票:0回答:1

我切换到maven并有一个问题。我使用带有vars的env文件进行开发,它通过envfile加载到intellij idea中。对于部署,我使用 docker 和另一个 env 文件来进行容器部署。我通过 Maven 配置文件切换这些文件。 但问题是,我无法将这些设置加载到 Maven,主要用于测试,例如本地构建或某些自动化部署。 我的问题 - 有没有办法,比如插件之类的,从 Maven 加载 env 文件?我制作了一个 makefile,但我认为这并不是一个好主意。我找到了 apache Surefire,但看起来它不能满足我的需要,或者我只是不知道如何配置。

谢谢你

maven environment-variables maven-plugin
1个回答
0
投票

您可以使用

properties-maven-plugin

使用此插件,您可以定义一个默认配置文件和多个可供选择的覆盖文件。例如它的配置可以是

<configuration>
    <quiet>true</quiet>
    <files>
        <file>env.properties</file>
        <file>env_${user.name}.properties</file>
    </files>
</configuration>

通过这种方式,覆盖文件可以是,例如:

  1. env_myUserName.properties
  2. env_production.properties
  3. env_jboss.properties

第一个(如果存在)将自动使用,假设

myUserName
是您的操作系统用户(每个开发人员配置),其他可以使用众所周知的
-Duser.name=
参数从命令行启用。例如:

mvn clean install -Duser.name=production
© www.soinside.com 2019 - 2024. All rights reserved.