通过设置VM参数激活Maven配置文件

时间:2017-05-22 09:53:31

标签: maven spring-boot maven-profiles

我目前正在使用STS在Spring Boot中编写应用程序。

现在我有不同的依赖项,我希望在以下情况下进行过滤:

  1. 在STS内部作为弹簧启动运行应用程序 应用

  2. 构建工件以在服务器上部署

  3. 我将依赖项与pom.xml中的配置文件分开,如下所示:

    <profiles>
      <profile>
        <id>local</id>
        <activation>
          <activateByDefault>false</activateByDefault>
        </activation>
        <dependencies ...
      </profile>
    
      <profile>
        <id>server</id>
        <activation>
          <activateByDefault>true</activateByDefault>
        </activation>
        <dependencies ...
     </profile>
    

    我的问题是,当我启动本地spring启动应用程序时,如何将运行配置中的本地配置文件激活为vm参数? 由于其他配置文件中的 activateByDefault true 设置,它无法启动应用程序,因为本地启动的某些依赖项被排除在外。

    编辑:我想更改应用启动配置中的配置文件。没有maven构建,所以我不能使用-P标志。

    添加

    <activation>
      <property>
        <name>act</name>
        <value>local</value>
      </property>
    </activation>
    

    以vm参数开头-Dact = local不起作用。

    run configuration

1 个答案:

答案 0 :(得分:3)

在运行时,您无法激活不同的构建配置文件(如pom.xml中所述)。当你运行应用程序时,为时已晚,因为它在运行之前已经构建完毕。

换句话说,您可以使用maven配置文件创建不同的版本。

您可以使用Spring配置文件更改应用程序运行时行为@pvpkiran。