java将参数添加到从命令行调用的Maven Enforcer规则中
在https://stackoverflow.com/a/59389998/927493之后,现在可以从命令行调用Maven enforcer插件
这很有效,但不幸的是,我还不知道是否可以通过命令行设置规则参数。例如RequireMavenVersion
规则中的version
你可以在下面搜索框中键入要查询的问题!
在https://stackoverflow.com/a/59389998/927493之后,现在可以从命令行调用Maven enforcer插件
这很有效,但不幸的是,我还不知道是否可以通过命令行设置规则参数。例如RequireMavenVersion
规则中的version
# 1 楼答案
不,你不能。事实上,由于这些期望,我对当前的实施不是很满意。第一个用例是一个简单的、无参数的规则。当然,我们可以预测接下来的问题
让我们首先解释“复杂”插件配置是如何工作的。请看以下示例:
此处requireMavenVersion是与EnforceMojo(或
enforce
目标)在同一个包中的小写类名,version是此类上的setter。你看到的只不过是一个Pojo。这里唯一的要求是RequireMavenVersion实现EnforceCrrule接口,因此Maven可以调用其execute
方法请参见:如果您想从命令行调用规则,插件simple会尝试将规则重命名为完全限定的类名,并创建一个新实例。接下来将调用它的execute方法
此功能的要求是在不涉及项目的情况下强制执行规则。这应该作为Maven扩展来解决,它更适合那个用例
但总而言之:不,你不能
更新从Maven Enforcer 3.0.0开始,有一个Maven Enforcer Extension为您提供了定义Enforcer规则的额外方法