我如何为不同的环境构建设置我的 maven pom?

Jan*_*yne 5 maven-3 maven

我有3个环境:

  1. 本地(开发)
  2. 分期
  3. 生产

每个环境使用不同的属性文件(例如指定 jdbc 属性)。目前,我的 Maven 项目构建了一个战争文件。有人可以给我一些关于如何修改pom.xml文件的指导,以便我可以指定不同的版本吗?

例如,如果我需要为 stage 构建 war 文件,我需要对 pom.xml 文件做什么才能实现这一点,以便使用 staging 属性文件(包含在 war 中)?

让我更清楚地了解我的构建。我正在使用 spring mvc,所以我可以切换存在哪个环境(例如属性文件)。完成此操作的方法是在 web.xml 中设置上下文参数,如下所示。

<context-param>
 <param-name>spring.profiles.active</param-name>
 <param-value>dev</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

所以,基本上,如果我使用 maven 配置文件,我该如何换出这个参数值?

Ami*_*leb 1

您必须在 pom.xml 中定义不同的环境配置文件

<profiles>
  <profile>
    <activation>
      <property>
        <name>environment</name>
        <value>test</value>
      </property>
    </activation>
    ...
  </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

或者给它一个特定的 ID/名称,如下所示

<profiles>
  <profile>
    <id>profile-1</id>
    ...
  </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

mvn使用运行mvn groupId:artifactId:goal -Pprofile-1

您可以在这里找到更多信息