maven - 如何在主机 Artifactory 中配置以重用 Maven 的 settings.xml 文件中定义的存储库位置?
问题描述
我有一个 LAN,每台开发人员机器都安装了Maven,当然每台机器都有自己的存储库,settings.xml
通过该部分的文件定义<localRepository>
,例如:
\username\maven\repository
(风俗)
它是一种通用的方式,无论操作系统是 Linux、Mac 还是 Windows
目标是在 LAN 中只有一台机器允许同一 LAN 中的其他机器访问其自己的存储库,这当然是让他们根据需要或通过他们的项目请求引用依赖项。因此如下:
* 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 文件声明了一个新的依赖项,则应该将其下载到主控器中,并且所有其他 DDM 也可以访问。
我对此进行了研究,我发现了一些即将通过共享远程目录工作的东西,但是根据答案和评论,同步并不安全。他们中的许多人建议使用Nexus和Artifactory。
我安装了
- JFrog Artifactory 开源 7.4.3
我需要通过步骤说明来管理这些场景(当然如果可能的话):
问题一:在大师
- 如何配置
Artifactory
根据settings.xml
'<localRepository>
值重用 Maven 的存储库?
因此,这些 DDM 是<localRepository>
通过Artifactory
而不是直接通过共享远程目录访问该位置,在该目录中随时可能出现有关同步的问题。
问题 2:在每个 DDM 中
- 如何配置每个 Maven 的
settings.xml
文件来引用远程Artifactory
?
因此,它的目的是避免pom.xml
在 DDM 中为每个项目配置每个文件。这将是冗长的。
我确实在 youtube 和官方 JFrog 文档中进行了研究,但没有运气。
目标:在 Master Machine 中拥有包含 Spring、JUnit 5、Hibernate 等依赖项的 Maven 存储库目录,它们应该可用于所有 DDM 通过Artifactory
解决方案
不可能。
每个用户都需要自己独立的本地存储库。
有 Artifactory 从那里绘制工件是很有用的,但最后需要在使用前复制到开发人员的本地存储库。
推荐阅读
- javascript - Heroku 中的节点应用程序:模块构建失败:错误:发现意外的“空间”
- ios - 尝试使用 Swift 实现无限滚动时陷入无限循环
- phantomjs - 使用 phantom js 更改 Img src 值
- javascript - graphql 查询嵌入在 req.body 中
- python - 在另一个数据框中使用for循环给定条件构建新数据框
- java - JPanel removeAll 无法正常工作
- c - 多个 C 线程没有返回正确的值
- android - 避免在 ConstraintLayout 中重叠
- c# - 如何在cefsharp offscreen(c#)中启用网络媒体的音频/声音?
- android - Mapbox:Gradle 同步失败,出现 DexArchiveMergerException