如何在Maven插件中获取任意属性的值?

时间:2012-12-18 13:51:30

标签: java maven maven-3

我想从我的插件中获取Maven项目属性的值。我在运行时获得的属性的名称(不是在编译时),并且它没有在<properties>中定义,因此不能使用Plexus注入。我怎么能这样做呢?

1 个答案:

答案 0 :(得分:-1)

在插件中,如果您有一个包含以下注释的字段:

@Parameter( property="my.cli.property", defaultValue="${project.name}" )
private String commandLineParam;

默认情况下,这将填写项目的<name/>,但允许人们使用-Dmy.cli.property=value从命令行覆盖。如果您不希望从命令行允许覆盖,则可以不使用此property注释的@Parameter参数。如果您没有要使用的默认值,而是希望用户每次都能从命令行提供自己的值,则可以不使用defaultValue参数。如果需要某些值,您可以将required参数设置为true

有关详细信息,请参阅:Maven Plugin Annotations

有关此操作的示例,请参阅:Parameter declarations in the install-file mojo