gpt4 book ai didi

java - 将参数添加到从命令行调用的 Maven Enforcer Rules

转载 作者:行者123 更新时间:2023-12-01 10:34:00 26 4
gpt4 key购买 nike

关注 https://stackoverflow.com/a/59389998/927493 ,现在可以从命令行调用 Maven 执行器插件。

这很好用,但不幸的是我还不明白我是否可以通过命令行设置规则参数。一个例子是 versionRequireMavenVersion规则。

最佳答案

不,你不能。由于这些期望,我实际上对当前的实现并不满意。第一个用例是一个简单的无参数规则。当然,我们可以预测下一个问题。
让我们先解释一下“复杂”的插件配置是如何工作的。看看下面的例子:

<rules>
<requireMavenVersion>
<version/>
</requireMavenVersion>
</rules>
这里 requireMavenVersion 是与 EnforceMojo(或 enforce 目标)相同的包中的小写类名,version 是此类的 setter 。你所看到的只不过是一个 Pojo。这里唯一的要求是RequireMavenVersion实现了EnforcerRule接口(interface),所以Maven可以调用它的 execute方法见:
 @Parameter
private EnforcerRule[] rules;
如果您想从命令行调用规则,插件简单尝试将规则重命名为完全限定的类名,并创建它的新实例。接下来将调用其执行方法。
对该功能的要求是在不涉及项目的情况下强制执行规则。这应该作为一个 Maven 扩展来解决,它更适合该用例。
但总而言之:不,你不能。
更新 从 Maven Enforcer 3.0.0 开始,有一个 Maven Enforcer Extension这为您提供了一种额外的方式来定义实现者规则。

关于java - 将参数添加到从命令行调用的 Maven Enforcer Rules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60265976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com