2012-03-16 23 views
3

一般來說,是否應該只將中央Maven倉庫添加到pom.xml +可選的本地Maven倉庫?理論上(我認爲?)任何人都可以建立一個存儲庫 - 有沒有'Maven Repository < - > Maven Repository'的信任圈?我需要小心哪些Maven倉庫掛鉤進入?

我怎麼知道我真的下載(說)log4j編譯的JAR,而不是一些混蛋/邪惡的版本?

回答

1

很少有事情可以做,感覺很舒服:

  • 使用,如Nexus或JFrog和代理要使用任何存儲庫的本地存儲庫經理。這方面的好處很少:
    • 本地經理可以跟蹤SHA散列,以確保罐子在您的腳下沒有變化。
    • 您可以限制開發人員可以訪問的存儲庫。
  • 堅持使用Maven Central,你可以 - 很多人使用它,如果有人用不可靠的東西切換log4j版本,每個人都會很快知道(因爲哈希不會排隊)。一般來說,這個論點也適用於其他任何存放流行庫的庫(例如sourceforge,google code,codehaus等)
  • 如果你使用一些花花公子的repo來編寫一些不是庫的庫非常流行在野外。實際上這很少發生。在這些情況下,也許你可以自己構建代碼來確保。
1

最佳實踐不是將任何存儲庫添加到pom.xml中。最好的解決方案是將其配置到settings.xml中,或者最好的解決方案是使用存儲庫管理器。此外,如果你沒有repo管理器,最好的辦法是使用maven central,但爲此你不需要配置任何東西,因爲Maven本身就是默認的。 Maven Central是由Sonatype的用戶控制管理的,Maven Central並不是那麼簡單。你可以做些什麼來保證運輸更安全一些,就是打開由configuration in the settings.xml控制的校驗和檢查。