为什么执行属性不能返回project.version?

时间:2013-02-10 01:42:42

标签: maven maven-plugin

我正在开发一个自定义Maven插件,我读了一些文件。有些变量定义为

${foo}

如果有pom,maven可以理解它的价值。我也必须了解它的价值。我发现:

/**
* @parameter expression="${session}"
*/
private MavenSession session;
...
session.getExecutionProperties()

当我说出来时,我会得到很多属性,但当我说:

session.getExecutionProperties().getProperty("project.version")

它返回null。执行属性返回什么(它包括系统属性和JVM属性)以及它不理解

之类的原因
  

$ {project.version}

我该怎么做才能获得类似的值?

PS:我的问题不是如何获得project.version,它只是一个例子

2 个答案:

答案 0 :(得分:0)

您应该使用以下内容:

/**
 * The Maven Project Object
 *
 * @parameter expression="${project}"
 * @required
 * @readonly
 */
protected MavenProject project;

...

project.getVersion();

答案 1 :(得分:0)

我已经使用拦截器实现了一个Interpolator,并且可以获得Maven变量的值。