2013-11-22 39 views
0

我正在嘗試編寫Maven 3插件。從Mojo獲取項目的工件依賴列表

我需要在我的插件運行的項目的POM中定義的依賴關係列表(如org.apache.maven.artifact.Artifact s)。

爲此我在我的魔有此領域:

@Parameter(defaultValue = "${what.do.I.need.here}") 
private MavenProject project; 

我想用這樣的:

`this.project.getArtifacts();` 

,並得到相關性列表。

所以我有點困惑,我看起來像什麼,很多關於這個問題的碎片化文檔。

那麼有人可以給我一個關於這方面的相關文檔,或者指向正確的方向嗎?

感謝,

回答

1

註釋應該是@Parameter(defaultValue = "${project}")

至於工件,你需要了解你想要的三個類路徑中的哪一個:編譯,測試或運行時?每個元素都取決於dependency scope

分別使用project.getCompileArtifacts(),project.getTestArtifacts()project.getRuntimeArtifacts()來獲得依賴關係列表。

+0

只是一個簡單的問題。您使用了哪些文件來獲取信息?如果你通過記憶瞭解它,你還記得你第一次閱讀它的位置嗎?我發現關於這個主題的apache文檔相當分散和不清楚。 – Simeon

+1

對於這樣的事情,我從不查看文檔 - 它們可能過時,錯誤或混淆。在這種情況下,我查看了mojo的源代碼:https://github.com/ning/maven-duplicate-finder-plugin/blob/master/src/main/java/com/ning/maven/plugins/ duplicatefinder/DuplicateFinderMojo.java –

+0

非常感謝:) – Simeon

相關問題