【发布时间】:2020-05-17 15:57:21
【问题描述】:
我有一个 LAN,每台开发人员机器都安装了 Maven,当然每台机器都有自己的存储库,通过 settings.xml 文件通过 <localRepository> 部分定义,例如:
-
\username\maven\repository(自定义)
这是一种通用的方式,无论操作系统是 Linux、Mac 还是 Windows
目标是在局域网中只有一台机器让同一局域网中的其他机器访问自己的存储库,当然是让他们根据需要或请求引用依赖项通过他们的项目。因此如下:
* Developer Master [central repository in the LAN]
* Developer Alpha
* Developer Beta
* Developer Delta
因此,Alpha、Beta、Delta 是依赖开发者机器 - 因为现在称为 DDM。这些 DDM 应该可以访问 Master 可用的依赖项,重要的是不要从 master 下载或复制这些 jars 依赖项给自己 - 只需引用它们;因此目的是在这些 DDM 中节省有关硬盘的空间。如果在这些 DDM 的某些项目中通过 pom.xml 文件声明了一个新的依赖项,则应该将其下载到 master 中,并且所有其他 DDM 也可以访问。
我对此进行了研究,我发现了一些可以通过共享远程目录工作的东西,但是根据答案和 cmets,同步并不安全。他们中的许多人建议使用 Nexus 和 Artifactory。
我安装了
- JFrog Artifactory 开源 7.4.3
我需要通过步骤说明来管理这些场景(当然如果可能的话):
问题一:在大师
- 如何根据
settings.xml的<localRepository>值配置Artifactory以重用Maven的仓库?
因此这些 DDM 是通过 Artifactory 访问该 <localRepository> 位置,而不是直接通过共享远程目录,因为在任何时候都可能出现同步问题。
问题 2:在每个 DDM 中
- 如何配置每个Maven的
settings.xml文件来引用远程Artifactory?
因此,它的目的是避免为 DDM 中的每个项目配置每个 pom.xml 文件。这将是冗长的。
我确实在 youtube 和官方 JFrog 文档中进行了研究,但没有运气。
目标:在 Master Machine 中拥有 Maven 存储库目录,其中包含有关 Spring、JUnit 5、Hibernate 等的依赖项,它们应该可用于所有 DDM 通过Artifactory
【问题讨论】:
标签: maven artifactory