我正在开发一个maven插件,需要获取多模块项目的根目录。使用
如何获取根模块的(已解析和绝对)路径?
mavenProject.getBuild().getDirectory()
可以获取当前模块的目录路径。因此,我尝试获取根MavenProject
,但是通过定义如下的getRootProject()
,getRootProject().getBuild().getDirectory()
返回"${project.basedir}"
(字面上的字符串值...我不知道如何解决它,即使我能够解决它,它也会解析为当前模块,这不是我想要的)。@Parameter(defaultValue = "${project}", readonly = true)
private MavenProject mavenProject;
// ...
private MavenProject getRootProject() {
MavenProject project = mavenProject;
while (project.getParent() != null) {
project = project.getParent();
}
return project;
}
如何获取根模块的(已解析和绝对)路径?
${project.basedir}
的行为很好奇...如果有其他解决方案,我也会很感激 :) - Hugues M.