【发布时间】:2014-09-04 19:32:09
【问题描述】:
我对 MavenProject 类有疑问。我制作了一个 Maven 插件,我正在使用这个类来获取诸如 groupId 和 version 之类的 pom 属性。每次当我使用我的插件来设置一些东西时——例如:
public class versionGoal extends AbstractMojo {
/**
* @parameter default-value="${project}"
*/
private MavenProject mavenProject;
/**
* @throws org.apache.maven.plugin.MojoExecutionException
*/
public void execute() throws MojoExecutionException
{
this.mavenProject.setVersion("9.0.0");
}
}
执行后,例如在测试阶段,没有任何变化。但是,如果我尝试在代码行中添加: mavenProject.getVersion() 在 this.mavenProject.setVersion("9.0.0") 行后返回我“9.0.0”,但 pom.xml 不会改变。
可能这是一些愚蠢的错误,我知道:) 我知道存在 version-maven-plugin,但我不想使用它。
感谢您的帮助!
【问题讨论】:
-
首先为什么不使用versions-maven-plugin 来代替你想要做出什么不同,为什么?当然,您不能简单地更改 pom,因为在运行时您只能访问 pom 的加载值,而不能访问硬盘驱动器上的文件。此外,您为什么使用旧式 XDoclect 样式而不是 Java 1.5 Annotations。
标签: java maven maven-plugin mojo