当前位置: 首页 > 知识库问答 >
问题:

为什么clojure deps在使用“:local/root”时要将“/main/clojure”添加到类路径中?

丘畅
2023-03-14

我正在尝试使用工具将一个本地项目链接到另一个正在开发的本地项目。deps:在deps中选择local/root。edn。它不起作用了。我不需要库的名称空间,而且路径是正确的。

副部长。edn条目如下所示:

{:paths ["src" "resources"]
 :deps {...
        ...
        ...
        mylib {:local/root "../../../mylib"}
}}

但是,生成的类路径不正确:

../../../mylib/src/main/clojure

出于某种原因,clojure/main被添加到这个库的类路径中,我不知道为什么。然后,当我运行clj启动repl时,我无法加载库,我得到FileNotFoundException

为了测试将main/clojure添加到lib路径是否存在问题,我在中手动删除了缓存文件中的该部分路径。cpcache目录,并能够在删除clojure/main后要求使用库名称空间。

有人知道main/clojure来自何处,以及我如何阻止添加它吗?

更新

我做了一个新的测试,这让我觉得这与项目的使用有关。clj而不是DEP。目标项目中的edn。在测试中,我有一个项目b和一个deps。edn如下所示:

{:deps {a-proj {:local/root "../a-proj"}}}

a-proj有一个项目。clj如下所示:

(defproject a-proj "0.1.0-SNAPSHOT"
  :description "blah"
  :url "http://example.com/FIXME"
  :license {:name "The MIT Licence"
            :url "https://opensource.org/licenses/MIT"}

  :source-paths ["src"]

  :dependencies [])

然后我运行了clj-Sforece-Spath,得到:

~/Projects/b

您可以看到,/main/clojure路径已经启用。当我使用一个基本上deps时。在a-proj中的edn

{:deps {}}

我得到以下路径,这似乎是正确的:

~/Projects/b

我的deps。电子数据网in~/。clojure只有以下几点:

{
 :aliases {
          :new {:extra-deps {seancorfield/clj-new {:mvn/version "0.9.0"}}
                  :main-opts ["-m" "clj-new.create"]}
          :deps {:extra-deps {org.clojure/tools.deps.alpha {:mvn/version "0.5.435"}}}
          :test {:extra-paths ["test"]}
  }
}

共有1个答案

孙夕
2023-03-14

项目Clojure CLI不支持通过deps将clj作为项目类型。埃德恩。

 类似资料:
  • 问题内容: 我在我的类路径(如果重要的话,在iReport中)中加载了一个jar,可以肯定它具有所需的方法,但是当我尝试测试连接时,因此调用了jar,我得到了java.lang.NoSuchMethodError,说它正在引用班上 我不确定这是否与问题有关,但是开头的“ L”是哪里来的?下次我上课时,课后有一个“ V”。这些信件从哪里来?它们是什么意思? 堆栈跟踪的开始: 问题答案: Java使用

  • 我试图开发一个连接到Oracle数据库并执行函数的Java应用程序。如果我在Eclipse中运行应用程序,它可以工作,但是当我尝试在Windows命令提示符中运行. jar时,我会得到“遇到的错误:java.sql.SQLExc0019:找不到合适的驱动程序”。 我正在通过所有人的道路。在命令行中执行时,Eclipse中Maven依赖项中显示的jar文件。 步骤 > 从目标目录执行. jar,使用

  • 当我探索Clojure时,一个问题困扰了我很长一段时间。我尝试通过在Clojure脚本上调用REPL中的函数来生成一个类,如下所示: 我将此脚本保存到e:/temp/clj/src/mylib/DirLister。clj。当我为选项指定相对路径时,下面的会话进行得很顺利,即在类路径中成功生成类: 但是当我使用绝对路径时,会提示“没有这样的文件或目录”错误: 怎么会呢?我的意思是为什么绝对路径不起作

  • 问题内容: 我注意到有些网站(尤其是版本号)放在CSS文件路径中。例如: 放入版本号的主要目的是什么?如果目的是记住上一次更新CSS文件的时间,那么是否不应该将版本号添加为CSS文件中的注释? 问题答案: 从HTML5样板文件]: 什么是?v = 1“’?v = 1’是具有Cachebusting功能的JavaScript / CSS版本控制 为什么需要缓存JavaScript CSS?网页设计越

  • 当我把它添加到我的应用程序类中时 我的应用程序将无法启动,并出现以下错误: try:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的见解。 它是什么意思,我如何解决它?

  • 问题内容: 谁能告诉我如何在OSX上添加到类路径? 问题答案: 如果要使计算机上的每个Java应用程序都可以使用一组特定的JAR文件(或.class文件),那么最好的选择是将这些文件添加到中。 或者,如果你想这样做的每一个Java应用程序,但只有当 你 的Mac OS X帐户运行它们,然后使用来代替。 编辑: 如果您只想对特定的应用程序执行此操作,如Thorbjørn所要求的,那么您将需要告诉我们