【问题标题】:Leiningen: How to customize the location of the .m2 folder?Leiningen:如何自定义.m2文件夹的位置?
【发布时间】:2012-09-25 08:48:56
【问题描述】:

我想更改 leiningen 存储所有依赖项的 .m2 文件夹的位置(在 Linux 上)。

有可能实现吗?

我检查了 lein.sh 脚本的源代码和所有环境变量,但似乎没有任何东西指向 $HOME$/.m2

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    对于 leiningen v2:

    将 profiles.clj 放入 ./users/name/.lein(或 Linux 等效项)中,其中包含以下内容

    {:user  {;Location of local repository 
             :local-repo "Drive/Path"
             ;Location of locally installed jars
             ;(that can't be downloaded from public repo's)
             :repositories  {"local" {:url "file://Drive/Path"
                                      :releases {:checksum :ignore}}}}}
    

    此用户配置文件在 lein 执行期间与所有项目配置文件合并。

    查找此类信息的好地方是 lein 的 github 上的 annotated sample profile

    【讨论】:

    • 我想将我的 .m2 文件夹从 C:/ 更改为 D:/。如上所示,在 .lein 文件夹中添加了 profile.clj。 lein-deps 失败并显示此消息:无法读取 com.someproject-1.1-SNAPSHOT 的工件描述符 这可能是由于 :dependencies、文件系统权限或网络问题中的拼写错误。如果您使用代理,请尝试设置“http_proxy”环境变量。 该项目的 project.clj 有::repositories [["private" {:url "s3p://myfire/jars/" :sign-releases false :username :env :passphrase :env}]]
    • profiles.clj 的 :repositories 是否有可能覆盖 project.clj 的 :repositories ,并且由于项目必须查找 s3 jar,所以它失败了。 project.clj 的 :repositories 应该是 {map} 而不是 [vec] 吗?如果我在 project.clj 中添加:offline? true,它会在 D: 或 C: 中没有 .m2 文件夹的情况下成功。如果没有profiles.clj,它会成功 lein-deps 会成功,并在C中创建.m2:请帮助!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    相关资源
    最近更新 更多