访问项目信息
该插件可以访问有关正在构建的当前 Maven 项目的信息。
@Mojo(name = "project")
public final class ProjectNameMojo extends AbstractMojo {
@Parameter(defaultValue = "${project}", readonly = true, required = true)
private MavenProject project;
public void execute() throws MojoExecutionException, MojoFailureException {
getLog().info("Hello, this is " + project.getName());
}
}
上面的示例将在控制台中打印运行它的 Maven 项目的名称,该项目在其 POM 的 <project>/<name>
元素中指定。
插件中使用的 MavenProject
类需要 maven-core
与插件的 POM 中的(默认)compile
范围的依赖关系:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.3.9</version>
</dependency>
此外,使用注释需要在插件的 POM 中具有以下依赖性:
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.5</version>
<scope>provided</scope> <!-- annotations are needed only to build the plugin -->
</dependency>