gpt4 book ai didi

maven - 如何在 Mojo.execute() 中获取 ${basedir} 值(或其他属性)?

转载 作者:行者123 更新时间:2023-12-01 09:53:57 24 4
gpt4 key购买 nike

我正在尝试获取 ${basedir} 的值在一个 Mojo 中。我以为我可以将其视为正常的系统属性,但是

System.getProperty("basedir") 

返回 null .

public void execute() throws MojoExecutionException, MojoFailureException {
String baseDir = ???
}

最佳答案

这是通过注入(inject) 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();
}

}

@Parameter 用于注入(inject)值 ${project} , 其中 resolves到从 Maven session 构建的当前项目。

Using annotations需要对 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>

关于maven - 如何在 Mojo.execute() 中获取 ${basedir} 值(或其他属性)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32525016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com