1

我很好奇是否有办法在 ivy.xml 文件中为依赖项指定校验和值。

例如,我有以下依赖项:

<dependency org="org.hibernate" name="hibernate-core" rev="3.5.6-Final"
    force="true"/>

我有可能做这样的事情吗?

<dependency org="org.hibernate" name="hibernate-core" rev="3.5.6-Final"
    checksum="10249177261810a3ba8f3b9a468d06e0" force="true"/>

我想这样做的主要原因是为了安全,以确保在我将来拉下远程存储库时不会更改对远程存储库的依赖。我想根据我自己的 ivy.xml 文件而不是远程主机上的校验和值来检查它。

4

2 回答 2

2

看看ArtifactoryNexus。这些是本地 Maven 存储库,可以从各种第三方存储库下载 jar。

两者都可以设置为在本地缓存远程工件,而不是在下载后重新下载它们。这将解决您更改远程存储库中的 jar 的问题。

于 2013-02-21T04:31:05.407 回答
0

ivy(以及 Maven)中校验和的主要目的是确保下载正常工作并且文件在传输或存储过程中没有损坏。

使用校验和进行安全检查的唯一 ivy 功能​​是packager resolver。这是有道理的,因为打包程序存储库文件被设计为与源文件分开托管。

所以总而言之,最好的解决方案是听从 David 的建议并在您的网络中部署一个 Maven 存储库管理器。Sonatype 最近提供了与 Maven Central 的 SSL 连接,这还可以保护您免受远程存储库欺骗。

于 2013-02-21T20:31:51.727 回答