当前位置: 首页 > 知识库问答 >
问题:

如何配置Leiningen以使用公司存储库?

公良光熙
2023-03-14

我们正在托管一个企业存储库,它充当众所周知的存储库(例如Maven Central和Clojars)的代理。我想让莱宁根在第一时间找到公司资料库。只有当公司存储库未能交付工件时,Leiningen才应该询问标准存储库。这应该是我所有项目的默认行为。我要做什么配置?

我在~/.lein/profiles.clj中添加了公司存储库作为镜像:

{:user {:mirrors {"our-repo" {:name "our-repo"
                              :url "http://our-repo/all/"}}}}

不幸的是,此设置没有影响。Leiningen从Maven Central下载工件:

PS> lein repl
Retrieving org/clojure/clojure/1.5.1/clojure-1.5.1.pom from central
...

更新

xsc建议用指向公司存储库的镜像定义覆盖Maven中央存储库。它工作了。现在Leiningen从公司存储库中检索工件,而不是去外部Maven存储库。

她/他还建议指定一个附加的存储库定义来安装后备机制。不幸的是,这并不奏效,因为Leiningen抱怨这种设置:

:repositories detected in user-level profiles! [:user]
See https://github.com/technomancy/leiningen/wiki/Repeatability

这个警告非常烦人。出于这个原因,我将放弃这种设置。有没有其他方法可以安装回退机制?

共有2个答案

谢运良
2023-03-14

据我所知,在莱宁根的示例 project.clj 中,您必须使用存储库的名称作为镜像映射中的键进行镜像。所以,试试这个:

{:mirrors {"central" { ... }}}

这很可能会完全替换存储库,因此您可能需要再次添加原始存储库:

{:mirrors      {"central" {:url "..." }}
 :repositories {"maven"   {:url "http://repo1.maven.org/maven2/"}}}
万俟铭
2023-03-14

以下是对我有效的方法:

{:user {:mirrors {#".+" {:url "http://nexus.example.com:8081/nexus/content/groups/public"}}
        :repositories [["snapshots" {:id "NudaySnapshots"
                                     :url "http://nexus.example.com:8081/nexus/content/repositories/snapshots"}]
                       ["releases" {:id "NudayReleases"
                                    :url "http://nexus.example.com:8081/nexus/content/repositories/releases"
                                    :sign-releases false}]]}
 :auth {:repository-auth {#"nexus.example.com" {:username "deployment"
                                               :password "foo bar baz"}}}}

这既可以处理通过我的Nexus镜像解析依赖关系,也可以处理使用lein部署将工件发布到该镜像。

我收到了烦人的“可重复性”警告,但我正在努力摆脱它。

 类似资料:
  • 我正在使用Eclipse Juno并试图为我的项目配置版本控制。我安装了Subversive并试图配置我的SVN存储库,但是当我转到Eclipse->Preferences->SVN时,没有“存储库”选项卡,正如文档所建议的--Eclipse Subversive。只有“常规”、“SVN连接器”、“项目结构”、“视图设置”和“错误报告”。 因此,当我右键单击我的项目并选择“Team”时,没有“提交

  • Leiningen + Figwheel + Emacs 配置 Lein 通过命令行启动, 通过 project.clj 文件配置. project.clj 实际上是一个 Clojure 脚本, 运行时被读取. Emacs C-x C-e eval last cljs sexp 的配置 1.在 project.clj 文件里面的 :dependencies 引入 :dependencies [ .

  • 我正在做一个项目,在这个项目中,我们不使用默认的存储库(Maven Central、jCenter等),而是使用内部JFrog存储库。该项目正在为Gradle使用Kotlin DSL。 问题是,即使在文件中,Gradle仍然试图从Gradle中央插件库获取依赖项 失败消息: 有人知道我做错了什么吗?

  • 问题内容: 我是React.js的新手,我实现了一个组件,在其中我从服务器获取数据并像这样使用它, 我想将Url存储在配置文件中,所以当我将其部署在测试服务器或生产环境中时,我只需要更改配置文件中的url(而不是js文件中的URL),但是我不知道如何在react.js中使用配置文件 谁能指导我如何实现这一目标? 问题答案: 使用webpack,您可以将env特定的配置放入以下字段中 如果要将配置存

  • 我正在尝试了解如何使用Spring。 我试着效仿这个例子。但是,当我从Eclipse启动Tomcat时,我得到了以下错误: 这是DispatcherServlet的相关代码。xml salvaUtente()是一种方法,我将在其中处理多个插入(现在仍然是exmpty)。