3

一般来说,是否应该只将中央 Maven 存储库添加到 pom.xml + 可选的任何本地 Maven 存储库?理论上(我认为?)任何人都可以建立一个存储库 - 是否有一个“Maven 存储库<->Maven 存储库”信任圈或其他什么?

例如,我怎么知道我真的在下载(比如说)log4j 编译的 JAR,而不是一些混蛋/邪恶的版本?

4

2 回答 2

1

最佳实践是不要将任何存储库添加到 pom.xml 中。最好的解决方案是配置到 settings.xml 中,或者最好的解决方案是使用存储库管理器。此外,如果您没有 repo-manager,最好的办法是使用 maven Central,但为此您不需要配置任何东西,因为 Maven Central 是 Maven 本身的默认设置。Maven Central 由 Sonatype 的人控制管理,将一些东西放入 Maven Central 并不是那么简单。为了进一步保护传输,您可以打开校验和检查,该检查由settings.xml 中的配置控制。

于 2012-03-16T16:03:11.010 回答
1

你可以做几件事来让自己感觉舒服:

  • 使用 Nexus 或 JFrog 等本地存储库管理器,并代理您要使用的任何存储库。这样做的好处很少:
    • 本地经理可以跟踪 SHA 哈希,以确保罐子在您的脚下没有改变。
    • 您可以限制开发人员可以访问的存储库。
  • 尽可能坚持使用 Maven Central - 这么多人使用它,以至于如果有人用不可信的东西切换 log4j 版本,每个人都会很快知道(因为哈希不会对齐)。一般来说,这个论点也适用于任何其他拥有流行库的存储库(例如 sourceforge、google code、codehaus 等)
  • 如果您使用的是某个编写了一些在野外不太流行的库的家伙的存储库,那么事情只会变得有风险。在实践中,这种情况很少发生。在这些情况下,也许您可​​以自己构建代码来确定。
于 2012-03-16T16:25:23.050 回答