maven按属性值和版本激活

时间:2015-06-17 20:24:19

标签: maven maven-3

有没有办法按属性激活配置文件,而不是检查特定值检查版本范围。 这就是我想要做的事情

<properties>
  <frontend-maven-plugin.version>0.0.16</frontend-maven-plugin.version>
</properties>
...
...
<profile>
  <id>new_version_of_frontend</id>
  <activation>
    <property>
      <name>maven.version</name>
      <value>3.1.0</value>
    </property>
    <properties>
      <frontend-maven-plugin.version>0.0.23</frontend-maven-plugin.version>
    </properties>
  </activation>
</profile>

所以上面的工作(当maven版本是3.1.0时,将前端插件版本设置为0.0.23

我想要做的是将条件更改为3.1.0以及类似

之类的内容
<value>[3.1.0,)</value>

但属性值检查不支持版本范围。还有其他办法吗?甚至检查版本是否为3.1+

1 个答案:

答案 0 :(得分:1)

我相信开箱即用的Maven没有这样的功能。在研究其内部时,Maven通常非常简单。基于属性的配置文件激活基本上是关于两个字符串相等,仅此而已,这里没有额外的逻辑。

我可以构建一个解决方案,该解决方案引入了自己的简单Maven插件,该插件执行实际范围机制并将frontend-maven-plugin.version.within.range之类的属性设置为truefalse的值。然后,您的配置文件激活条件基于给定属性的true值。如果您足够早地启动插件,可能会有效,可能在生命周期的initialize阶段。然而,我不确定配置文件激活是否更早。您需要验证这一点。