訪問專案資訊

該外掛可以訪問有關正在構建的當前 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>