使用Java编译Clojure是否合法clojure.lang.Compiler.compile
?
我们的Java应用程序用于通过clojure.lang.Compiler.load
在具有proxy
宏的.clj源上使用来创建Clojure对象的实例.现在我们想用AOT编译这些对象gen-class
而不是proxy
.这样就可以移动.class文件了,我们稍后会实例化这些对象.
到目前为止我所管理的最好的是说服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);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
533 次 |
最近记录: |