Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我部署到clojars时,应该将org.clojure/clojure添加到还是删除到:dependencies?_Clojure_Leiningen_Clojars - Fatal编程技术网

当我部署到clojars时,应该将org.clojure/clojure添加到还是删除到:dependencies?

当我部署到clojars时,应该将org.clojure/clojure添加到还是删除到:dependencies?,clojure,leiningen,clojars,Clojure,Leiningen,Clojars,当我部署到clojars时,org.clojure/clojure应该在:project.clj中的依赖项中添加还是删除 在下面的教程中,org.clojure/clojure被添加到:project.clj中的依赖项。 一些著名的库(如clj http)中的project.clj不包括 org.clojure/clojure作为依赖项。 在其他著名的库(如ring/ring-core)中的project.clj包含org.clojure/clojure作为依赖项。 哪种方法更好?当您

当我部署到clojars时,org.clojure/clojure应该在:project.clj中的依赖项中添加还是删除

  • 在下面的教程中,org.clojure/clojure被添加到:project.clj中的依赖项。
  • 一些著名的库(如clj http)中的project.clj不包括 org.clojure/clojure作为依赖项。
  • 在其他著名的库(如ring/ring-core)中的project.clj包含org.clojure/clojure作为依赖项。

哪种方法更好?

当您将库部署到Clojars时,通常您将部署一个只包含您自己项目源代码的JAR文件。JAR文件将不包含项目中的任何依赖项。这些将在部署到Clojars的
pom.xml
文件中指定。该
pom.xml
文件是由Leiningen在构建JAR文件并将其部署到Clojars时自动生成的

当其他项目依赖于您的库时,他们将从JAR文件中获取代码,附带的
pom.xml
将告诉他们使用您的代码还需要哪些库。Leiningen从Clojars下载完您的库后,会自动下载其他库


因为所有这样的项目都需要Clojure自己来运行它们,所以它们已经依赖Clojure了——所以不管您的项目是否依赖Clojure。

这忽略了Java程序依赖Clojure库的可能性。所有Clojure项目都应该明确依赖于
org.Clojure/Clojure
,因为它们实际上依赖于它来运行。谢谢您的回答。我理解你的答案是没有区别,因为每个想运行我的库的人都有org.clojure/clojure本身。从您的答案来看,删除依赖项中的org.clojure/clojure似乎更好。因为如果我在:dependencies中删除org.clojure/clojure,使用不同clojure版本的人可以使用我的库。(可能,我必须在:dependencies中指定clojure版本)对吗?谢谢你,amalloy。我理解你的评论。