我正在使用资源过滤来替换属性文件中的一些 ${values} 。
例如该文件包含
属性=${值}
我希望将 ${VALUE} 替换为环境变量 $VALUE,如果在构建运行时设置了 $VALUE,则效果很好。惊人的。
但是,这些环境变量仅在我们的官方构建环境(由 Jenkins)中设置,而不是在开发人员构建中设置,因此 ${values} 在过滤后保留在属性文件中,这可能会破坏内容。我不想在开发人员环境中要求环境变量,因为这总是会导致脆弱的开发构建和发牢骚的开发人员。
如果设置了环境变量值,如何使用它;如果未设置环境变量,如何使用另一个默认属性值?
根据我的测试,默认情况下它会以相反的方式工作,因为 pom 中设置的属性将覆盖环境变量以实现资源过滤的目的。
Thanks
我正在使用配置文件来确定
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!myproperty</name>
</property>
</activation>
...
<properties>
<myproperty>some value</myproperty>
</properties>
</profile>
...
</profiles>
请注意
- The
activeByDefault
设置为 true 是为了默认启用它。
- The
!myproperty
意味着该属性丢失或不存在。
- If the
myproperty
不存在,只需使用myproperty
定义于properties
反而。
您可以在以下位置查看更多信息:http://maven.apache.org/guides/introduction/introduction-to-profiles.html http://maven.apache.org/guides/introduction/introduction-to-profiles.html
我希望这可以帮助实现您的要求。
Regards,
查理·Ch.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)