你能在Apache Ivy中指定依赖校验和吗?

时间:2013-02-20 23:59:55

标签: ant ivy checksum

我很好奇是否有办法为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文件中的校验和值检查它,而不是远程主机上的校验和值。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

使用校验和进行安全检查的唯一常春藤功能是packager resolver。这是有道理的,因为打包程序存储库文件被设计为单独托管到源文件。

总而言之,最好的解决方案是遵循David的建议并在您的网络中部署Maven存储库管理器。 Sonatype have recently offered SSL connectivity到Maven Central,它还可以防止远程存储库欺骗。