我一直在为一个项目做贡献,其中有一个固定的 pom.xml,但我倾向于出于各种目的临时修改 project.clj。大多数时候,Leiningen 似乎忽略了 pom.xml,但是 lein install
和 lein 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/