2011-11-14 29 views
5

我想知道是否有可能獲取有關我的Maven項目的所有第一級依賴項的信息。 我需要以下信息:名稱,供應商,版本,許可證類型,引用URL,說明。所有這些信息都存儲在每個包的pom.xml中。問題在於我們有大約20個項目的層次結構,這些項目有數百個不斷變化的依賴關係。獲取有關Maven依賴項的信息

我知道關於maven dependency plugin。我運行了mvn dependency:list並使用grep s和sed s的組合提取了軟件包列表。但我需要許可證信息和URL。我可以實現我自己的解析器,解析pom.xml以獲取有趣的包,並提取這些信息,但似乎應該存在可以使用的東西。

回答

1

的最好的事情就是創建一個網站的支持下,Maven的項目信息報告插件,它會創建所需的信息。以here爲例。唯一的問題是你使用哪個版本的maven?此外,我建議看看maven-license-plugin 如果你需要以任何方式限制許可證,你可以看看maven-license-verifier plugin

+0

謝謝,它的工作原理。但是我有一個很大的項目層次結構,並且這個插件爲每個項目返回依賴關係,並且不會再傳播,即上層項目沒有依賴關係。我想一起獲取所有依賴關係的報告。有沒有辦法做到這一點? – AlexR

+1

也許你可以用你的項目的模塊條目設置一個聚合項目(pom.xml),然後嘗試運行這個項目的報告......直接沒有辦法...... – khmarbaise

+0

不幸的是,這是我已經有.. 。 – AlexR

2

Maven的dependecy報告可能對您有用: maven-project-info-reports-plugin

+0

謝謝,它的工作原理。但是我有一個很大的項目層次結構,並且這個插件爲每個項目返回依賴關係,並且不會再傳播,即上層項目沒有依賴關係。我想一起獲取所有依賴關係的報告。有沒有辦法做到這一點? – AlexR