创建在默认生命周期中执行的插件时,很容易获得对项目及其资源的引用,但是在创建在站点生命周期中执行的插件时,我得到的是 null 而不是 MavenProject 对象。
有任何提示、提示或建议吗?
创建在默认生命周期中执行的插件时,很容易获得对项目及其资源的引用,但是在创建在站点生命周期中执行的插件时,我得到的是 null 而不是 MavenProject 对象。
有任何提示、提示或建议吗?
事实证明,我遇到的问题与我将 Project 参数的声明传递到我的 Mojo 中有关。由于在 Maven 构建中只有一个 MavenProject 实例,因此您不能为参数指定表达式(实际上没有可以转换为 MavenProject 对象的 Java 字符串),默认值必须是“${project }”。
因此,要从 Maven 插件 Mojo 中访问 MavenProject,对于任何阶段,请使用以下参数声明:
/**
* Project instance, used to add new source directory to the build.
*
* @parameter expression="export.project" default-value="${project}"
* @required
* @readonly
*/
private MavenProject project;