Java Maven Annotation API@Parameter.name()方法似乎不起作用
我正在使用Groovy和Maven注释支持开发一个Maven 3插件。在Mojo类中,Java Maven Annotation API@Parameter.name()方法似乎不起作用,java,maven,groovy,annotations,gmaven,Java,Maven,Groovy,Annotations,Gmaven,我正在使用Groovy和Maven注释支持开发一个Maven 3插件。在Mojo类中,@参数的名称或别名似乎在运行时没有反映出来: @Parameter(required = true, name = "pathAsAName", alias = "pathAsAnAlias") File pathAsAField 从Maven XML配置设置字段的唯一方法是使用 <configuration> <pathAsAField>/tmp</pathAsAF
@参数
的名称
或别名
似乎在运行时没有反映出来:
@Parameter(required = true, name = "pathAsAName", alias = "pathAsAnAlias")
File pathAsAField
从Maven XML配置设置字段的唯一方法是使用
<configuration>
<pathAsAField>/tmp</pathAsAField>
</configuration>
我使用的是maven core:3.3.3和maven插件注释:3.4。并使用Maven 3.3.3执行它。根据定义,
参数
用@Retention(RetentionPolicy.CLASS)
(默认值)注释。这是否意味着作者(在本例中为Olivier Lamy)打算使用一个类后处理器,该类后处理器将在某个地方生成“某物”(例如maven plugin plugin
,其目标是描述符
),以便将该信息用于配置目的?但遗憾的是,如果我理解正确的话,它根本没有被使用?RetentionPolicy.CLASS
指示编译器将反射元数据记录在相应的*CLASS
文件中,但在运行时反射API无法接收到它。我认为这将是有趣的黑客对这…:DYou的意思是记录注释元数据,对吗?嗯,一些注释元数据无论如何都会被使用,比如“property”,而另一些则让我更加困惑。根据定义,参数
是用@Retention(RetentionPolicy.CLASS)
(默认值)注释的。这是否意味着作者(在本例中为Olivier Lamy)打算使用一个类后处理器,该类后处理器将在某个地方生成“某物”(例如maven plugin plugin
,其目标是描述符
),以便将该信息用于配置目的?但遗憾的是,如果我理解正确的话,它根本没有被使用?RetentionPolicy.CLASS
指示编译器将反射元数据记录在相应的*CLASS
文件中,但在运行时反射API无法接收到它。我认为这将是有趣的黑客对这…:DYou的意思是记录注释元数据,对吗?嗯,一些注释元数据无论如何都会被使用,比如“property”,而另一些则让我更加困惑。根据定义,参数
是用@Retention(RetentionPolicy.CLASS)
(默认值)注释的。这是否意味着作者(在本例中为Olivier Lamy)打算使用一个类后处理器,该类后处理器将在某个地方生成“某物”(例如maven plugin plugin
,其目标是描述符
),以便将该信息用于配置目的?但遗憾的是,如果我理解正确的话,它根本没有被使用?RetentionPolicy.CLASS
指示编译器将反射元数据记录在相应的*CLASS
文件中,但在运行时反射API无法接收到它。我认为这将是有趣的黑客对这…:DYou的意思是记录注释元数据,对吗?嗯,一些注释元数据无论如何都会被使用,比如“属性”和其他一些,这让我更加困惑。
<parameter>
<name>pathAsAName</name>
<alias>pathAsAnAlias</alias>
<type>java.io.File</type>
<required>true</required>
<editable>true</editable>
<description></description>
</parameter>
[ERROR] Failed to execute goal ... on project ...: Unable to parse configuration of mojo ...:...:...:... for parameter pathAsAName: Cannot find 'pathAsAName' in class ... -> [Help 1]