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

如何编译lein项目中不在“src”下的clojure模块

公良阳波
2023-03-14

我使用lein new app hello构建了我的项目,所以我有这个结构

.
└── src
    └── hello
        └── core.clj
└── project.clj
└── test
└── ..

我想在我的项目中添加另一个助手模块,这样我就可以在测试和src模块中使用代码,因为我希望它与src目录解耦。

所以我添加了一个助手模块

.
└── src
    └── hello
        └── core.clj
└── project.clj
└── test
└── helpers
    └──hello
         └── helpers.clj

如何更改我的project.clj文件使lein run编译。当我试图要求帮助者命名空间时,lein run不编译并抛出以下错误。

线程“main”java中出现异常。lang.ClassNotFoundException:你好。助手,编译:(hello/core.clj:7:3)

我的项目。clj文件与默认文件类似:

(defproject hello "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.8.0"]]
  :main ^:skip-aot hello.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})

然而在IDE(IntelliJ)中,它在REPL中工作良好,没有抛出类没有发现异常。

共有1个答案

邢璞
2023-03-14

添加

:source-paths ["src" "helpers"]

到您的project.clj文件。

 类似资料:
  • 这是在寻求关于如何更改Clojure或Lein的Clojure默认版本的相同问题的帮助? 但这并不是这个问题的答案。我是否应该把它写在这条线索下作为答案呢? 在项目目录之外发出“(lein repl)”命令时,指定要使用的Clojure版本似乎是一件很自然的事情。当然,不允许它可能有很好的设计原因,但是您是否认为会出现如下错误消息, 当Leiningen检测到~/时显示。莱恩/简档。clj(或其他

  • 实际上,这将是一个更复杂的问题。我只想在测试中使用AspectJ。找到了使用if()连接点和一些静态布尔字段的建议。此外,首先我开始使用aspect作为我的基本测试方法的内部静态类。经过一些实验,我把它换成了自己的班级,但实际上并没有得到我想要的结果。所以,我只是创建了一些测试项目。Maven pom。xml: 类别:A: B: 测试类: Aspect类 主要类别: 运行测试和主要方法后我得到了结

  • 我将IDE从Eclipse更改为IDEA。我正在尝试将其配置为尽可能有效地工作。我有以下问题。我希望IDEA在一个文件被更改并导致问题后,自动显示所有有编译错误的文件。我安装了IntelliJ Eclipse模式插件并选择了Eclipse编译器,但我仍然存在以下问题:在模块接口中,我有一个接口—假定InterfaceA。它的实现包含在module-implementation1 implement

  • 我正在尝试将clojure源代码编译成类文件,并且只使用命令行运行它,不使用lein,也不(可能)使用REPLY。 我在目录中有core.clj。 这是源代码。 根据这个站点(http://clojure.org/compilitation)中的提示,我尝试从repl获取类文件。 我在src目录中用启动REPL,然后尝试编译得到一个错误。 通过这个简单的工具将Clojure.clj编译成.clas

  • 在NetBeans 7.2中,我很难找到如何在Maven项目中使用-Xlint:unchecked进行编译。在Ant项目下,可以通过转到项目属性来更改编译器标志- 有没有办法使用Maven将IDE配置为使用此类标志进行编译?

  • 我无法在我的应用程序中获得一个业务逻辑。谁能帮我一下,我是android开发新手。 顺便说一句,我正在使用Android回收视图来显示项目列表,并且我需要显示已检查的项目已标记为签入回收视图。 我正在从服务器上查看项目:兴趣列表:[“古董收藏”、“工艺品”、“划船”] 这些项目需要与我的recyclerView ArrayList或项目进行比较。如果这些项目在RecyclerViewer中可用,我