如何使用公司代理或maven镜子后面的模板启动新的Clojure lein项目

时间:2017-09-30 04:43:30

标签: clojure proxy leiningen

我正在尝试在公司代理或本地maven镜像后面使用lein新模板构建,但发生以下故障:

C:\development\clojure> lein new luminus guestbook +h2
Failed to resolve version for luminus:lein-template:jar:RELEASE: Could not find metadata luminus:lein-template/maven-metadata.xml in local (C:\Users\username\.m2\repository)
This could be due to a typo in :dependencies or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
Could not find template luminus on the classpath.

在profiles.clj中放置以下行似乎没有效果:

:mirrors {"central" {:name "central" 
  :url "http://server.company_name.com:8080/artifactory/maven.central/"}} 

环境变量(大写/小写似乎也没有影响):

HTTP_PROXY=http://username:password@proxy.company_name.com:8080
HTTPS_PROXY=https://username:password@proxy.company_name.com:8080
HTTP_NO_PROXY=*.company_name.com
HTTP_CLIENT=wget --no-check-certificate -O

注意:我还指定了没有用户名和密码的HTTP / S代理,导致同样的失败。

我还无法确定如何生成调试级别日志记录以帮助排除故障。

Leiningen 2.7.0 on Java 1.8.0_144 Java HotSpot(TM)64位服务器虚拟机

Clojure 1.8.0

2 个答案:

答案 0 :(得分:1)

我更新了包含Maven配置设置的~.m2 / settings.xml文件,如下所示:

def self.archives
    Post.unscoped.select("YEAR(created_at) AS year, MONTHNAME(created_at) AS month, COUNT(id) AS total")
        .group("year, month")
        .order("year DESC, MONTH(created_at) DESC")
end

这个版本的Lein似乎添加了Clojars存储库搜索路径来解析依赖关系,但不是项目模板。通过对此Maven配置进行更改,它会导致Lein调用Maven自动搜索其他Clojars存储库。这似乎是不一致的行为,希望在未来的Lein版本中得到解决。

答案 1 :(得分:0)

我在clojars.org上找到了luminus:lein-template:2.9.11.90工件,并使用Maven手动将其检索到我当地的M2存储库中。

C:\development\clojure> mvn dependency:get -DremoteRepositories=https://clojars.org/repo -Dartifact=luminus:lein-template:2.9.11.90
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:get (default-cli) @ standalone-pom ---
[INFO] Resolving luminus:lein-template:jar:2.9.11.90 with transitive dependencies
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.160 s
[INFO] Finished at: 2017-09-30T16:58:11-04:00
[INFO] Final Memory: 11M/216M
[INFO] ------------------------------------------------------------------------

一旦这个工件在本地可用,我就能成功使用该模板来创建项目:

C:\development\clojure> lein new luminus guestbook +h2
Generating a Luminus project.

完成并移动到新项目目录后,我成功地下载了依赖项并使用“lein run”运行项目。

这不能解决从模板创建项目时使用代理配置的lein问题,但确实提供了解决方法。