clojure - 没有写 pom.xml 的 Leiningen 'lein install'?

标签 clojure leiningen

我一直在为一个项目做贡献,其中有一个固定的 pom.xml,但我倾向于出于各种目的临时修改 project.clj。大多数时候,Leiningen 似乎忽略了 pom.xml,但是 lein installlein deploy 重写了 pom.xml。这对 Leiningen 的运作是必要的吗?如果没有,我可以阻止它吗?尚未在在线文档中找到任何关于此的内容。

这不是什么大问题,但我宁愿不处理在执行“git 提交”之前必须在我的项目中恢复官方 pom.xml 的问题,例如。

编辑:我找到了适合我的情况的解决方案,即 create a 'checkouts' directory with a link to the other project .这会导致其他项目被拉入,而不创建新的 jar。但是,我仍然很好奇:Leiningen 是否需要创建 pom.xml 例如对于 lein 安装?为什么?我想了解这个过程。

最佳答案

我不确定是否可以在不生成 pom.xml 的情况下运行 lein install

它生成pom的原因是leiningen使用maven来抓取所有的依赖。事实上,maven 能够从 clojars 获取依赖项,leiningen 将它用于 clojure 依赖项以及 java 依赖项。 Maven 需要 pom.xml 来指定存储库位置和运行 javac(或任何其他构建命令)所需的其他配置,此外还需要 groupId 和 artifactId 来将您的库部署到(可能是本地的)存储库


您的问题的另一个可能的解决方法是使用更改列表(具体来说,如果使用 tortoiseSVN,我会使用 ignore-on-commit 更改列表)在大多数情况下以提交方式忽略您的 pom.xml。我相信this stackoverflow answer可能会帮助您了解如何在 git 中执行此操作。

关于clojure - 没有写 pom.xml 的 Leiningen 'lein install'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20850066/

相关文章:

clojure - 如何获取 Pedestal 中的 URL 查询参数?

clojure - 可下载的 Clojure 引用手册

clojure - 异常运行 lein interactive

clojure - 运行项目时 cider-nrepl 错误

clojure - 如何在 Clojure 中执行同步并行功能?

function - Mapcat 是如何工作的?

multithreading - future 无法使用 javax.mail

clojure - 异想天开 : Who is that guy on the clojure leiningen homepage?

maven - leiningen 项目中的 "Cannot find artifact org.openjfx"

installation - 卸载/重新安装leiningen(clojure server)相关问题