当前位置: 首页 > 面试题库 >

leiningen-如何为本地jar添加依赖项?

陈琪
2023-03-14
问题内容

我想使用Leiningen来构建和开发Clojure项目。有没有办法修改project.clj告诉它从本地目录中选择一些jar?

我有一些专有的jar,无法上传到公共存储库。

另外,可以使用leiningen维护clojure项目的“ lib”目录吗?如果我的一堆clojure项目共享相同的jar,我不想为每个jar保留一个单独的副本。

谢谢


问题答案:

你可以将你的私人jar放进lib/去,出于lein swank诸如此类的目的,它们会放在类路径中;这似乎确实使使用依赖项管理工具的意义落空了,尽管如果你实际上不希望管理那些依赖项,则可以将Leiningen视为“开放源代码依赖项管理工具”,并且可能要当心lein clean

随着情况变得更加复杂-涉及到更多的私有jar,它们在发展,并且你需要考虑一些版本信息-Arthur创建私有Maven回购的想法可能更合适。

(HR表示特定于Leiningen的零件截止点…继续下面以获取Clojure领域中一般的构建/依赖管理工具故事的信息,包括一些我认为可能对你有用的链接。)

此外,到目前为止,关于哪一个是Clojure的最佳构建工具这一问题尚未达成共识,并且Leiningen在赢得广泛关注的同时,也在不断地在功能和抛光方面获得收益-特别是,这意味着尚未完成。这是语用书架的“ Programming Clojure”一书的作者Stuart Halloway的话:“我的2c:Leiningen是重要的一步,但仍有许多工作要做。” 有关完整的发布和非常有趣的讨论,请参见Leiningen,Clojure和库:在Clojure空间中构建工具等,我想念的是什么?Clojure Google网上论坛上的主题。许多参与者特别提到需要使本地依赖项不包含在任何存储库中,无论是本地存储库还是其他存储库,并详细说明他们针对此类情况提出的解决方案。也许你可以看到那里是否有什么现在可以解决你的问题/将来在功能集成熟时可以解决?

无论如何,Leiningen实际上可能还没有为某些复杂情况准备好故事。如果你认为这对你的情况是正确的(并且我的意思是在考虑了私有回购想法之后),那么这里有一些指向上述线程中基于maven的替代方法的链接:polyglot maven,clojure-maven-plugin;此博客发布旨在对试图与Clojure一起使用Maven的人有用。我记得,梅克尔·布兰德迈尔(Meikel Brandmeyer)也在Gradle(一种Groovy构建html" target="_blank">系统)的支持下使用Gradle(一种Groovy构建系统)来容纳名为Clojuresque的Clojure。我从来没有亲自尝试过,因为不了解Groovy的第一件事,但是他声称要与它做一个非常好的建筑行为,我相信这与Maven无关-这本身就是一个优点。对于我们中的一些人。:-)



 类似资料:
  • 问题内容: 我有一个依赖 然后我执行。添加了所有本机文件和远程Maven库,但是没有此jar。 更新 当我尝试通过运行应用程序时。它返回一个错误,指出上述依赖项中没有任何类(NoClassDefFoundError:de.matthiasmann.twl.ForExample)。我想将这个jar中的类添加到myjar.jar中(与maven使用远程依赖项相同)。我如何配置Maven来做到这一点?

  • 我正在通过编程Clojure书学习Clojure,但很早就想从书中找到一个例子。 我从书中下载了代码示例;目录结构为 其中有一堆.clj文件,包括一个名为induction.clj的文件。 我试图运行的代码以 ...但我不能让它发挥作用。 我试着添加一个checkouts目录,并将其中的examples目录符号化。我试过用manifest.txt创建一个.jar文件,给出了1.0.0版本....

  • 有一些相关的问题,但它们并没有完全回答这个问题: 在构建之前将jar添加到maven本地存储库 maven-assembly-plugin不添加系统作用域的依赖项

  • 本文向大家介绍gradle 添加本地JAR文件依赖性,包括了gradle 添加本地JAR文件依赖性的使用技巧和注意事项,需要的朋友参考一下 示例 单罐 有时您需要添加本地JAR文件作为对Gradle构建的依赖。这是您可以执行的操作: path文件系统上的目录路径在哪里,是local_dependency.jar本地JAR文件的名称。该path可以相对于构建文件。 JAR目录 也可以添加一个jar目

  • 可以在pom中包含本地文件。xml,或者在本地存储库中安装jar文件,或者提供指向本地jar的链接,并将范围设置为“system”。如果我包括一个胖jar(=包含所有可传递依赖项的jar),会发生什么?Maven是否仍然能够正确地检测依赖冲突,我是否仍然能够排除我的“胖jar依赖”的一些可传递依赖? 问题是,我正在从事一个遗留软件项目,该项目之前没有使用任何构建工具/依赖关系管理工具(因此所有需要

  • 问题内容: 所以我尝试将本地.jar文件依赖项添加到build.gradle文件中: 你会看到我将.jar文件添加到了这里的文件夹中: 但是问题是,当我在命令行上运行命令:gradle build时,出现以下错误: 问题答案: 据文档,对本地jar依赖项使用相对路径,如下所示: