一尘不染

Java Maven MOJO-从项目POM获取信息

java

我正在开发一个Maven插件。我似乎很难弄清楚,从执行MOJO的项目中获取POM信息的好方法是什么?

例如,如果我在另一个Maven项目中执行我的mojo,我想获取项目名称或其他一些参数。

还有一件事,在AbstractMojo.java类中有一个上下文MAP,有私有Map
pluginContext,如果我错了,有人可以纠正我,但这应该用于在mojos之间传递信息吗?


阅读 492

收藏
2020-12-03

共1个答案

一尘不染

您可以使用如下声明的字段将当前的maven项目注入到mojo中:

/**
 * @parameter default-value="${project}"
 * @required
 * @readonly
 */
MavenProject project;

然后,只需调用即可获得项目名称project.getName()。要使用此API,您需要将maven-project工件添加为依赖项:

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-project</artifactId>
    <version>2.0.6</version>
</dependency>
2020-12-03