来自文件的Maven和env变量

lmvvr0a8  于 2023-10-17  发布在  Maven
关注(0)|答案(1)|浏览(123)

我切换到maven,有一个问题。我使用带有vars的env文件进行开发,通过envfile加载到intellij idea。对于部署,我使用docker和另一个env文件进行容器部署。我通过maven配置文件切换这些文件。但问题是,我不能将这些设置加载到maven,主要是为了测试,例如本地构建或一些自动化部署。我的问题是-有没有一种方法,比如插件或其他东西,从maven加载env文件?我做了一个makefile,但不认为这是一个好主意。我发现apache surefire,但看起来它不能做我需要的,或者我只是不知道如何配置。
谢谢你

de90aj5v

de90aj5v1#

您可以使用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

相关问题