我正在尝试弄清楚是否可以在运行Artifactory服务器的本地计算机上重用 Artifactory的maven repo。以下详细介绍了我要做的事情。
我有一台Artifactory运行的服务器,我打算在同一台服务器上安装Jenkins。如果可能的话,我想在服务器上只有一个maven存储库。由于Artifactory已经在那里运行,我希望它能够维护某种maven存储库(我环顾四周但却找不到它)。
目前,当Jenkins使用Maven构建maven项目时,它会将依赖的jar下载到服务器上的本地maven repo(.m2文件夹)中。而不是这样,是否可以将maven正在使用的settings.xml指向Artifactory下的某个本地文件夹,其中artifactory存储所有的jar?基本上,我希望maven认为所有的罐子都已经可以在本地仓库中使用(该物品正在维护),所以它不必从神器中下载所有的罐子。
如果maven和artifactory可以共享同一个repo文件夹,那么这是可能的。但是,如果Artifactory使用自己的结构来维护maven存储库(除了结构maven之外的其他东西以及.m2文件夹),这是不可能的。
我应该声明我对Artifactory的了解非常少,除了它是一个maven存储库管理器这一事实。
答案 0 :(得分:1)
在这里回答我自己的问题,因为越来越多的研究表明这是不可能的。我在SO上发现了另一个问题:
Artifactory使用Java Content Repository(JCR)标准来存储工件。它是各种存储实现之上的抽象,包括文件系统,关系数据库等。在任何情况下,JCR都通过校验和管理存储(以减小大小和带宽),因此存储库在文件系统中不能直接浏览。默认实现是将二进制文件存储在文件系统上(在$ ARTIFACTORY_HOME / data / filestore中,以及Derby DB中的元数据。
Nexus的一篇博客文章也暗示这是不可能的。 Contrasting Nexus and Artifactory -> Contrast #2