0
我正在使用Maven配置文件来区分特定于环境的配置的项目。我正在运行版本3.0.5。我们的目标是能够通过从对应于一个激活属性,像这样的壳传递系统属性来初始运行命令指定环境:使用系统属性激活Maven配置文件
的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
然而,配置文件没有被激活(使用确认,它不产生输出)。我对Maven很不喜欢,但不应该这样工作吗?
这是我的理解是与-D
选项运行mvn
允许我设置系统属性(在这种情况下:environment
应该等于local
)运行应用程序时确定其随后与Maven的POM的交叉引用这(符合要求的activation properties
),然后运行该应用程序并激活这些配置文件。有没有什么我不在这里?
我应该在我试图直接激活资料中使用'-P'原来的问题已经提到过,并且也不成功,这使我觉得有两种东西与我的POM或怪异的东西与我Maven安装。 –
我编辑了我的答案,包括一个适用于我的示例POM,但是我没有使用'exec'插件尝试过。 – Matt