我正在开发一个使用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非常相似,但不应该这样做吗?
我的理解是,使用mvn
选项运行-D
可以让我设置系统属性(在这种情况下:environment
应该相等local
)然后在运行应用程序时与Maven交叉引用,以确定满足哪个配置文件的激活条件(按照所需的activation properties
),然后运行应用程序那些档案活跃。有什么东西我不在这里闲聊吗?