Maven插件需要参数

时间:2013-11-08 08:22:43

标签: maven maven-plugin

我正在编写自己的Maven插件。我的Mojo有一个必需的参数列表:

@Parameter(property = "map.packages", required = true)
private List<String> packages;

现在,当我在没有配置的项目中运行此插件时,我希望构建失败,因为需要packages参数。相反,我将packages作为空列表。

这是一个错误还是我做错了什么?

聚苯乙烯。我可能应该将此添加到某个问题跟踪器,但Maven的问题跟踪器在哪里?

2 个答案:

答案 0 :(得分:1)

问题的定位基于可以通过调试输出(在集成测试的帮助下)观察到的属性,如下所示:

[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          com.nitorcreations:drm-maven-plugin:1.1-SNAPSHOT:map (test-parameter)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <outputDirectory default-value="${project.build.directory}">${outputDir}</outputDirectory>
  <packages>${map.packages}</packages>
  <project default-value="${project}"/>
</configuration>

在这里,您可以看到属性(map.packages)将被注入到包配置参数中,这意味着配置参数具有满足所需参数的值。如果您需要定义与required一起定义的属性,则需要签入execute()方法。

答案 1 :(得分:-1)

根据此文档http://maven.apache.org/developers/mojo-api-specification.html#The_Descriptor_and_Annotations,您可以使用@Required注释

进行尝试