Leiningen'lein install'没有编写pom.xml?

时间:2013-12-31 00:57:31

标签: clojure leiningen

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

这不是一个大问题,但我不想在执行“git commit”之前必须恢复项目中的官方pom.xml。

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

1 个答案:

答案 0 :(得分:1)

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

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

您的问题的另一个可能的解决方法是使用更改列表(特别是,如果使用tortoiseSVN,我将使用ignore-on-commit更改列表)在大多数情况下忽略您的pom.xml。我相信this stackoverflow answer可以帮助你在git中如何做到这一点。