直接调用`clojure.lang.Compiler.compile`到AOT从Java编译Clojur
使用clojure.lang.Compiler.compile从
Java编译Clojure是否合法?
我们的Java应用程序用于通过在具有代理宏的.clj源上使用clojure.lang.Compiler.load来创建Clojure对象的实例. 到目前为止我所管理的最好的方法是说服clojure.lang.Compiler.compile生成加载器类文件(“my / domain / lib__init.class”).但我似乎没有得到附带的.class文件,命名空间中的每个函数一个(“my / domain / lib $fnname__1234.class”)和每个gen-class的存根类文件.这是在一个沙箱中使用http://clojure.org/compilation的非常简单的第一个例子.我以为我正确设置了编译路径,并将其设置为类路径中的某些内容,但也许还存在一个问题. 在任何情况下,我们的实际应用程序都是基于RCP(Eclipse),这可能意味着他们将更多地根据OSGI类加载器类路径来计算.与此同时,我只是想知道是否直接使用clojure.lang.Compiler.compile甚至是一种有效的方法? 编辑:所以我现在得到它生成所有.class文件,但它需要各种未记录的初始化,这告诉我clojure.lang.Compiler上的方法是内部的.我必须将* compile-path *和* compile-files *设置为true,例如 RT.var("clojure.core","*compile-files*").bindRoot(true); 解决方法
你应该尝试使用
clojure.core/compile 功能.你也可以看一下lein如何处理:aot param做
aot compilation.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |