【问题标题】:Proxying sbt ivy repositories with artifactory使用工件代理 sbt ivy 存储库
【发布时间】:2014-09-11 11:19:54
【问题描述】:

我正在尝试几乎完全按照官方 sbt 文档中描述的内容,http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics/Proxy-Repositories.html。我想代理 maven 和 ivy 包,似乎只有 Artifactory 支持这两者。我完成了安装并让事情大致正常工作,除了我无法将我的远程存储库(用于本地缓存)指向例如 sbt-plugin-releases 因为它使用自定义存储库布局(包括 sbt 版本),这是'在 Artifactory 的免费版本中是不允许的。

其他人如何做到这一点?如果上面有整个文档页面,这种情况并不少见。使用代理的 ivy 存储库做 sbt 的事情每年要花费我 2750 美元吗?这有点令人沮丧,因为我不需要 Artifactory Pro 的大部分功能,但我认为如果没有自定义布局我就无法忍受。 Nexus 和 Archiva 似乎只支持 Maven。

【问题讨论】:

    标签: scala sbt artifactory


    【解决方案1】:

    在 Artifactory 自定义布局(实际上,任何布局)中都没有强制执行。这意味着它们对存储库管理器的代理、解析、部署或任何其他基本操作没有影响。如in the documentation 所述,布局提供以下功能:

    • 自动快照/集成版本清理
    • 删除旧版本远程和本地布局之间的转换
    • 移动或复制时两种本地布局之间的转换
    • 从虚拟存储库到其底层的分辨率转换 存储库(虚拟存储库有自己的布局 定义)

    另外请注意,Artifactory OSS 版本附带了所有流行的 JVM 依赖管理器布局,例如:

    • Maven 2/3
    • Ivy(默认布局)
    • Gradle(Wharf 缓存默认布局)
    • Maven 1

    所以,问题出在其他地方。如果您可以详细说明为什么“不能将我的远程存储库(用于本地缓存)指向例如 sbt-plugin-releases”,inc.您遇到的错误,我们很乐意帮助您。

    【讨论】:

    • 哦,也许那会起作用。我刚刚看到那里的说明说布局必须完全按照指定的方式,看到我无法在 artifactory 上更改它,并假设稍后会出现问题。那么布局偏好有什么作用呢?
    • 是的,我的困惑在于您的“(默认布局)”点,因为博客文章明确指出“请注意,常春藤解析器模式很重要,请确保您的与显示的匹配,否则您可能无法解析 sbt 插件。”并提供一个非默认布局来使用它。明天我会试试看,但无论如何,这是我担心的根源。谢谢!
    • 我尝试将@copumpkin 正在谈论的存储库作为远程存储库添加到我们的 Artifactory 实例中,但它不起作用。远程仓库正确保存,但它永远不会真正执行任何代理。 Artifactory 中的远程 repo 始终显示为空,并且在被要求提供任何特定工件时会以 404 响应。
    • @monitorjbl 您要添加哪个 URL?
    • 这是 repo.scala-sbt.org/scalasbt/sbt-plugin-releases/ 之一。它重定向到dl.bintray.com/sbt/sbt-plugin-releases,但在为远程仓库设置时它们都不起作用。
    猜你喜欢
    • 2018-06-24
    • 2012-09-30
    • 2012-12-22
    • 2014-11-12
    • 2015-02-04
    • 2018-07-02
    • 2011-04-15
    • 2012-09-13
    相关资源
    最近更新 更多