从Heroku配置的环境变量触发Maven概要文件
我正试图在我的maven pom中激活一个配置文件,如下所示:-从Heroku配置的环境变量触发Maven概要文件,maven,heroku,Maven,Heroku,我正试图在我的maven pom中激活一个配置文件,如下所示:- <profile> <id>test</id> </properties> <activation> <property> <name>env.SITE</name> <value>
<profile>
<id>test</id>
</properties>
<activation>
<property>
<name>env.SITE</name>
<value>test</value>
</property>
</activation>
</profile>
测试
环境现场
测试
现在,我将heroku配置为具有环境变量站点,如下所示:-
<profile>
<id>test</id>
</properties>
<activation>
<property>
<name>env.SITE</name>
<value>test</value>
</property>
</activation>
</profile>
heroku config:addsite=test
我希望环境变量在推送代码时触发概要文件。但是,这并没有发生。配置变量当前在编译时不可用。要更改Maven概要文件,您需要分叉。您可以在不使用自定义构建包的情况下完成此操作 在pom.xml中使用此代码段显示Heroku上可用的所有属性,并选择一个不在本地的属性: 我用了env.DYNO
<profile>
<id>heroku</id>
<activation>
<property>
<name>env.DYNO</name>
</property>
</activation>
...
</profile>
...
赫罗库
环境动力
...
...
工作起来很有魅力:)或者您可以引入自己定制的Maven
settings.xml
文件,例如heroku settings.xml
:
生产
然后通过在heroku项目设置选项卡中将
MAVEN\u设置路径config变量设置为heroku settings.xml
激活设置您可以使用环境变量MAVEN\u CUSTOM\u OPTS
指定MAVEN配置文件
在pom中,定义maven概要文件激活基于属性的存在。如果指定了开发配置文件,下面的示例将使用该配置文件;如果未指定,则默认为生产配置文件
在本例中,生产配置文件不需要声明MAVEN\u CUSTOM\u OPTS
。我通过添加Heroku环境解决了问题,如下所示:
MAVEN_CUSTOM_OPTS=-P<profile_id>
MAVEN\u CUSTOM\u OPTS=-P
并从pom.xml中删除“activation”标记
顺便说一句,我不知道为什么这不起作用(在Heroku中,我有ENVIRONMENT=test)
测试
环境
测试
...
太棒了。这应该被认为是一个更好的答案+1.
MAVEN_CUSTOM_OPTS=-P<profile_id>
<profile>
<id>test</id>
<activation>
<property>
<name>env.ENVIRONMENT</name>
<value>test</value>
</property>
</activation>
...
</profile>