当前位置: 首页 > 知识库问答 >
问题:

maven插件参数的user属性的含义是什么

裴令秋
2023-03-14

我是Maven的新手。当我尝试引用任何maven插件文档时,我总是看到参数定义的以下格式:Name Description{parameter Name}{Description}默认值是:...用户属性是:...

在大多数情况下,我看到用户属性与参数名称是一样的。我在这里想知道“用户属性”和“参数名”有什么区别。我认为在配置时指定相应插件的参数值时,参数名应该是元素标记名,但是“用户属性”的用法是什么?

共有1个答案

吕亮
2023-03-14

注意:这是针对Maven3的。早期版本(有点)不同。

TL;DR:

“User property”指定可用于设置插件参数的Maven属性的名称。这允许从 部分之外配置插件。请注意,只有在 部分中未指定参数(请参见MNG-4979-Cant override configuration parameter from command line)时,此操作才起作用。

在Maven中,插件的参数通常在POM中的 部分中设置。插件文档中给出的“参数名称”是配置设置中要使用的名称。

例如,Surefire目标Surefire:test有一个参数“failifnospecifiedtests”。要在POM中设置它,请使用:

<configuration>
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
</configuration>

但是,有时从 部分外部设置插件参数是很有用的,例如在命令行或Maven配置文件中设置它。为了允许这样做,插件还可以声明它将从一个Maven属性(如果设置了)读取参数值。此属性是文档列出的用户属性。

  • 在命令行上,通过指定-dsurefire.failifnoSpecifiedTests=false
  • 在POM配置文件中: false ...

注意,插件必须为每个参数声明User属性,因此并非所有参数都有一个。例如,参数basedir没有用户属性,因此不能在命令行上设置。

在插件的源代码中,参数名没有显式声明;它取自Java字段的名称。“FailifnoSpecifiedTests”的源代码是:

/**
 * Set this to "true" to cause a failure if the none of the tests
 * specified in -Dtest=... are run. Defaults to "true".
 *
 * @since 2.12
 */
@Parameter( property = "surefire.failIfNoSpecifiedTests" )
private Boolean failIfNoSpecifiedTests;
 类似资料:
  • 一些maven插件有一个“encoding”参数,该参数有一个与之关联的属性,还有一个默认值,也是一个属性。 看起来这两个属性执行相同的操作: 这种冗余有什么原因吗?插件参数的“用户属性”属性和同一参数的“默认”属性之间有区别吗?

  • 我已经阅读了悬而未决的文件: http://developer.android.com/reference/android/app/PendingIntent.html 发送功能定义为: 公共无效发送(上下文上下文、int代码、Intent意图、OnFinated onFined、处理程序处理程序、字符串所需权限) 代码:“返回PendingEvent目标的结果代码。” 让我困惑的是参数。我应该什

  • 我的问题是:根据这些参数,我可以在哪里归档标准maven插件的API fefinition?

  • 说明: string Worker::$user 设置当前Worker实例以哪个用户运行。此属性只有当前用户为root时才能生效。不设置时默认以当前用户运行。 建议$user设置权限较低的用户,例如www-data、apache、nobody等。 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php';

  • 我需要用Kafka做一些性能测试。 record_size:100 server_address:bootstrap.servers=localhost:9092 buffer.memory=67108864 但我并不否认: 谢谢

  • Maven Surefire插件的用途是什么?我找不到合适的例子。