2013-10-23 50 views
5

在我的組織內部,我受到IT安全機構的嚴格監管。因此,所有對Maven鏡像的訪問都是被禁止的。但是,我可以提供我需要的依賴關係的詳細信息,以便IT安全人員可以執行他們的檢查/掃描,並希望爲我下載二進制文件。網站地圖Maven Transitive Dependencies

然後我將這些安裝在我的本地maven倉庫中,這意味着它們可以免費提供給我的團隊在防火牆內。

maven的美妙之處在於它可以識別和下載傳遞依賴。但是,無法訪問外部POM文件,我無法通過Maven依賴關係執行這些檢查:tree。

因此,我必須一次性向IT部門提供依賴關係。考慮到一些依賴鏈的深度,這可能需要相當長的一段時間才能回到IT部門。或者,我在家裏做依賴關係:樹,並把結果寄給自己。

我想知道如果有人有任何網站的建議,我可以查詢這些信息?所以如果我想(說)log4j:1.2.17,它會告訴我,我也需要問javax.mail:mail:1.4.3。

+0

這不是完美的,但mvnrepository.com爲您提供一個級別的依賴與他們的版本。例如:http://mvnrepository.com/artifact/log4j/log4j/1.2.17 –

+0

@ Olivier.Roger你會驚訝,這很快乏味!很多圖書館的依賴鏈比你想象的要深得多。我甚至正在考慮編寫一個shell腳本來控制頁面,刮掉HTML並重復......但是這決定了這太過分了! – jwa

回答

5

不幸的是,我不知道有任何網站會給你完整的傳遞依賴信息,但有一個很好的解決方案到底層問題

即,您可以嘗試說服管理層使用具有工件審計功能的資源庫管理器。

Sonatype的的Nexuscertainly has this(見 「神器採購」),JFrog Artifactory的seems to enable this as well(通過許可證管理「),無論是在付費版本的附加功能。

這種做法將節省時間和金錢從長遠來看,倉庫經理多那麼脆弱比共享本地回購:

  • 他們是一個明確的耳鼻喉科(和Maven有特定的設置明確打算與他們合作),
  • 他們有專門的認證/授權機制,可以使你的公司現有的,
  • 你可以使用部署插件與他們正確發佈構建構件,
  • 等等,等等

,可能你的安全車身的晃動了另一個相關的原因是,你可以使用同樣的審計程序,無論是外部內部文物。

+0

這很有趣,它涉及到更多地向IT部門教授關於java以及依賴關係如何工作的內容(這可能很有趣,因爲我們不會說同一種語言)。 我認爲這是一個合理的方法,如果沒有其他人能夠提出這樣的服務,這似乎是正確的答案。 – jwa

+0

@jwa:我很高興聽到您的情況中存在這種可能性,並且您對目前的設置有同感。切換到資源庫管理器有更多優勢,當然,您可以將其用作額外的「參數彈藥」。 –