我正在开发一个自定义Maven插件,我读了一些文件。有些变量定义为
${foo}
如果有pom,maven可以理解它的价值。我也必须了解它的价值。我发现:
/**
* @parameter expression="${session}"
*/
private MavenSession session;
...
session.getExecutionProperties()
当我说出来时,我会得到很多属性,但当我说:
session.getExecutionProperties().getProperty("project.version")
它返回null。执行属性返回什么(它包括系统属性和JVM属性)以及它不理解
之类的原因$ {project.version}
我该怎么做才能获得类似的值?
PS:我的问题不是如何获得project.version,它只是一个例子
答案 0 :(得分:0)
您应该使用以下内容:
/**
* The Maven Project Object
*
* @parameter expression="${project}"
* @required
* @readonly
*/
protected MavenProject project;
...
project.getVersion();
答案 1 :(得分:0)
我已经使用拦截器实现了一个Interpolator,并且可以获得Maven变量的值。