安全校验当我发布一个开源项目与POM我可以用版本字符串定义依赖。如果构建版本不在本地存储库中,它将下载这些依赖关系,它甚至会使用来自同一存储库(-C
)的元数据来验证这些下载文件的校验和。锁依赖性在Maven的
但是构建将一些公共库(和代理)和我的用户下载这些依赖关系是在这些公共服务的怜悯,如果他们将返回未修改的文件。
我想有一种方法来记录所有我的构建依赖关系的校验和并将它们与POM一起发布(所以我确信这些文件没有改变,但我不需要将我的本地存储库副本发送给构建器)。
有一个Maven的方式来做到这一点?与此相似,是否有一种简单的方法来归档我的依赖关系(本地存储库的副本包含所有使用的工件和元数据文件),这样即使中央存储库发生故障或将它们发送给脱机客户,我也可以重复构建它们。如果可能的话,这两者都不需要存储库代理,我知道我可以建立一些东西来做到这一点,我只是想知道是否有maven中的基础设施,也许运送一个只包含元数据文件或类似?)
注意:我不是在寻找createChecksum
生成的工件,而是锁定使用的依赖关系的校验和。我发现了一个maven-create-checksums
插件,但没有相应的验证器。
Sonatype的要求对上传到中央Maven的每一个神器GPG签名。 Maven并没有检查这个签名,因为检查它是Nexus仓库管理器商业风格的一个卖点。假设您的商业Nexus实例和您的构建机器之间的连接是安全的(并且,坦率地说,易于安全)。 – Barend 2013-04-08 21:37:10
感谢@Barend,但这并不能帮助我,如果我想分配给更广泛的受众(谁可能甚至没有自己的仓库服务器) – eckes 2013-04-08 22:39:04
我知道这是没有帮助的,这就是为什么我没有张贴它作为一个答案: - /。这确实解释了为什么GPG校验和的情况是这样。 – Barend 2013-04-09 10:54:27