Java 如何让leiningen在实施前评估需求?
这似乎是一个错误,但我想知道是否有办法绕过这个问题 我有一个定义如下的类Java 如何让leiningen在实施前评估需求?,java,clojure,interop,leiningen,Java,Clojure,Interop,Leiningen,这似乎是一个错误,但我想知道是否有办法绕过这个问题 我有一个定义如下的类 (ns myns.myext.anotherext.client (:gen-class :implements [myns.myext.core.client] :prefix - :init init :state state ) (:require [myns.myext.core]) ) 我不知道这是否显而易见,但是myns.myext.core.clie
(ns myns.myext.anotherext.client
(:gen-class
:implements [myns.myext.core.client]
:prefix -
:init init
:state state
)
(:require [myns.myext.core])
)
我不知道这是否显而易见,但是myns.myext.core.client是myns.myext.core中的一个定义接口,如下所示
(ns myns.myext.core)
(definterface client
(^void foo [])
)
这是一个没有main但不会编译的库。它正在获取一个未找到的类异常,因为它试图在myns.myext.core之前编译myns.myext.core.client。有没有什么黑客可以用来强迫liningen按照正确的顺序编译这些文件?项目定义正在使用:aot:all。代码没有问题,因为如果我注释掉gen类中的实现,编译、取消注释实现并重新编译它就可以正常工作。不能指望最终用户仅仅为了编译库而修改代码
版本:Java 1.7.0_55 Java HotSpot(TM)64位服务器VM上的Leiningen 2.3.4只需在gen类之前编写require。代码应该按顺序计算。只需在gen类之前编写require。代码应该按顺序进行评估。在这个站点之外,我被指向了一个有效的解决方案。我在project.clj中添加了以下内容,这是我唯一解决问题的方法
:prep-tasks [["compile" "myns.myext.core"]
"javac" "compile"]
在这个网站之外,我被指向了一个有效的解决方案。我在project.clj中添加了以下内容,这是我唯一解决问题的方法
:prep-tasks [["compile" "myns.myext.core"]
"javac" "compile"]