Maven 通过 属性 值和版本激活

maven activate by property value and version

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

<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+

我相信现成的 Maven 没有这样的功能。在查看其内部结构时,Maven 通常非常简单。基于属性的profile激活,基本上就是两个字符串相等,仅此而已,这里没有多余的逻辑。

我可以想象一个引入自己的简单 Maven 插件的解决方案,该插件执行实际范围机制并将 属性 之类的 frontend-maven-plugin.version.within.range 设置为 true 或 [=12= 的值].那么您的配置文件激活条件基于给定 属性 的 true 值。如果您足够早地启动插件,它可能会起作用,可能在生命周期的 initialize 阶段。但是,我不确定配置文件激活是否更早。您需要验证这一点。