【发布时间】:2017-10-11 04:47:18
【问题描述】:
我正在开发一个项目,该项目使用 Maven 配置文件来区分特定于环境的配置。我正在运行版本 3.0.5。目标是能够通过将系统属性传递给与激活属性相对应的 shell 的初始运行命令来指定环境,如下所示:
pom.xml
<profiles>
...
<profile><!-- Local Dev Environment -->
<id>local</id>
<activation>
<property>
<name>environment</name>
<value>local</value>
</property>
</activation>
<properties>
...
</properties>
</profile><!-- End Local Dev Environment -->
...
</profiles>
启动命令
mvn exec:java -Denvironment=local
但是,配置文件未激活(使用help:active-profiles 确认,不会产生任何输出)。我对 Maven 很陌生,但这不应该吗?
据我了解,使用-D 选项运行mvn 允许我设置系统属性(在这种情况下:environment 应该等于local)然后交叉引用在运行应用程序时使用 Maven 的 POM 确定满足哪个配置文件的激活条件(根据所需的activation properties),然后在这些配置文件处于活动状态的情况下运行应用程序。有什么我没有在这里摸索的吗?
【问题讨论】:
标签: java maven maven-3 maven-profiles