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