编写Maven2网站插件时,获取网站资源列表的最佳方法是什么?

时间:2020-03-06 14:24:26  来源:igfitidea点击:

创建在默认生命周期中执行的插件时,很容易获得对项目及其资源的引用,但是在创建在站点生命周期中执行的插件时,我得到的是null而不是MavenProject对象。

有任何提示,技巧或者建议吗?

解决方案

事实证明,我遇到的问题与我将Project参数的声明传递到我的Mojo中有关。由于Maven构建中只有一个MavenProject实例,因此我们无法为参数指定表达式(并且实际上没有Java字符串可以转换为MavenProject对象),默认值必须为" $ { }"。

因此,要在任何阶段从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;