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
阶段。但是,我不确定配置文件激活是否更早。您需要验证这一点。
有没有办法通过 属性 激活配置文件,而不是检查版本范围的特定值检查。 这就是我想要做的
<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
阶段。但是,我不确定配置文件激活是否更早。您需要验证这一点。