Maven 插件所需参数

标签 maven maven-plugin

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

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

现在,当我在一个没有配置的项目中运行这个插件时,我预计构建会失败,因为需要 packages 参数。相反,我将 packages 作为空列表获取。

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

附言。我可能应该将它添加到某个问题跟踪器,但是 Maven 的问题跟踪器在哪里?

最佳答案

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

[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) 将被注入(inject)到包配置参数中,这意味着配置参数具有满足所需参数的值。如果您需要结合 required 定义属性,则需要 checkin execute() 方法。

关于Maven 插件所需参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19854481/

相关文章:

java - IntelliJ IDEA maven 运行/调试配置,maven 目标已运行但应用程序未自动运行

java - 如何更改 hpi :run 的端口号

java - Maven中Jetty插件的企业用途是什么?

javascript - 如何停止默认插件执行?

java - Intellij Maven 项目 - 缺少插件

java - Java 应用程序的跨平台安装程序/包装程序 - maven build

java - 使用 jboss 时包 javax.servlet.annotation 不存在

Eclipse + JBoss - 一些 JAR 文件未部署

maven - 插件本身无法添加buildscript依赖项,然后应用dokka-android插件

android - 使用多个 `POM file is invalid`时如何修复 `exclude`?