如何在我的开发环境中处理未实现的maven属性

时间:2014-08-11 13:50:52

标签: maven development-environment

我们正在使用设置版本属性的maven插件。这些属性在POM文件中用于创建War,EJB和EAR文件的文件名 - 并由Jenkins使用。

我的问题是,当我导入maven项目或重新导入时,IntelliJ使用这些文件名来生成工件,但工件名称变得怪异,因为导入时不会生成属性(插件未运行)。

最外面/顶部的pom有这些道具: $ {parsedVersion.majorVersion} $ {parsedVersion.minorVersion}

IQE-WS $ {parsedVersion.majorVersion} $ {parsedVersion.minorVersion}

EAR Pom文件有这个道具: IQE - $ {parsedVersion.majorVersion} $ {parsedVersion.minorVersion}

所以耳神器文件最终看起来像: IQE - $ {parsedVersion.majorVersion} $ {parsedVersion.minorVersion}的.ear

如果我对道具进行硬编码 - 比如说2和1则会变成 IQE-2.1.ear

1 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题。

最好是使用配置文件。将属性的原始版本放在CI框中使用的配置文件中,具有特定值的集合保存在本地环境中使用的配置文件中。使用-P profile-name开关在CI框上激活配置文件,在maven项目窗口中选择适当的配置文件,在IntelliJ中激活配置文件。甚至可以根据环境属性或操作系统的存在自动激活正确的配置文件。

或者,您可以使用本地settings.xml文件覆盖属性,但这将特定于您,并且更难分发给团队和未来的开发人员,因此它不是一个很好的解决方案。

这是link to the maven profiles documentation