1
我正在開發一個maven插件,我需要獲取多模塊項目的根目錄。從Mojo獲取多模塊maven項目的根目錄
With mavenProject.getBuild().getDirectory()
我可以得到當前模塊的路徑,好吧。
所以想我會嘗試獲得root 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}'的行爲感到好奇......並且woul D也欣賞,如果提供其他解決方案:) –
我會問爲什麼你需要他的一個插件內的多模塊構建的根級別? – khmarbaise
這是一個報告插件。由於與我的組織有關的原因,我需要收集每個模塊(及其依賴項)的詳細信息,並將該信息寫入整個樹的根模塊的「目標」目錄下。我需要的信息很容易通過maven獲得,並且很難在maven之外獲得,因此maven插件似乎是一個好主意。 –