gpt4 book ai didi

java - 使用 leiningen 和 jenkins 构建简单的 clojure web 项目

转载 作者:搜寻专家 更新时间:2023-11-01 02:38:03 25 4
gpt4 key购买 nike

我有一个基于 clojure 的简单 Web 项目,它只在资源文件夹中包含一些 Markdown 文件。以前我用

运行它
cd my-project
lein ring server

然后我在浏览器中查看正在运行的项目 http://localhost:port .

现在我想将这个过程与 jenkins 集成,所以我

  • 在本地(在 eclipse 中)创建了一个 clojure 项目
  • 为我的 jenkins 添加了 leiningen 支持(在配置中添加 leiningen-standalone.jar 的路径)
  • 在 jenkins 作业配置中添加了构建步骤“使用 leiningen 构建项目”
  • 使用 jenkins 从 SCM checkout 并构建项目

但是, Jenkins 总是提示

> java -client -XX:+TieredCompilation
> -Xbootclasspath/a:/home/.lein/self-installs/clojure-1.8.0.jar
> -Dfile.encoding=UTF-8
> -Dmaven.wagon.http.ssl.easy=false
> -Dleiningen.original.pwd=/var/lib/jenkins/jobs/my-project/workspace
> -cp /home/.lein/self-installs/clojure-1.8.0.jar clojure.main -m leiningen.core.main install
>
> Error: Could not find or load main class clojure.main
> Build step 'Build project using leiningen' marked build as failure

我假设,jenkins 缺少 clojure.jar 并且它没有将它安装到 .m2 存储库,所以我手动将它添加到

/var/lib/jenkins/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar

但这不会改变构建的任何内容。

如何告诉 Jenkins 在哪里可以找到 clojure.main?任何提示,我错过了什么?

最佳答案

tl;dr - 检查权限

当您设置 leiningen+plugin 时对于 Jenkins,请确保运行 jenkins 的服务帐户是所有者并且有权访问 leiningen-standalone.jar

在我的例子中,我在 /var/lib/jenkins/.lein 安装了 leiningen,这是 jenkins 安装的默认设置,并将所有者更改为 jenkins:jenkins/p>

关于java - 使用 leiningen 和 jenkins 构建简单的 clojure web 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41738219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com