【发布时间】:2010-07-30 13:49:55
【问题描述】:
我希望启用用户定义的 Clojure 脚本来与我的 Java 应用程序交互。问题是,我事先不知道 Clojure 脚本的位置,所以我无法在运行应用程序时将它们包含在我的类路径中。
如何从我的类路径外部动态加载 Clojure 脚本?
我已经尝试了这个简单的例子:
RT.loadResourceScript("test.clj");
Var foo = RT.var("user", "foo");
Object result = foo.invoke("Hi", "there");
System.out.println(result);
带有如下所示的 test.clj:
(ns user)
(defn foo [a b]
(str a " " b))
但没有运气。
我认为这与RT.makeClassLoader() 或RT.baseLoader() 以及使用返回的加载程序加载clojure 文件有关,但我似乎无法使其工作。 (我不断收到ClassNotFound)我可能会混淆clojure.lang.RT 的javadoc,但我根本找不到它们。
【问题讨论】:
-
是的... javadoc 呢! #:/
标签: java clojure classpath embedded-language