And*_*rea 3 mojo maven-plugin maven
我想要获得${basedir}Mojo中的价值.我以为我可以看到这是一个正常的系统属性但是
System.getProperty("basedir")
Run Code Online (Sandbox Code Playgroud)
回报null.
public void execute() throws MojoExecutionException, MojoFailureException {
String baseDir = ???
}
Run Code Online (Sandbox Code Playgroud)
这是通过注入MavenProject和调用getBaseDir()方法来完成的,如下所示:
public class MyMojo extends AbstractMojo {
@Parameter(defaultValue = "${project}", readonly = true, required = true)
private MavenProject project;
public void execute() throws MojoExecutionException, MojoFailureException {
String baseDir = project.getBaseDir();
}
}
Run Code Online (Sandbox Code Playgroud)
将@Parameter用于注入的价值${project},它解决了在当前项目从Maven的会议正在兴建.
使用注释需要以下对Maven插件的依赖:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1597 次 |
| 最近记录: |