gpt4 book ai didi

java - 如何从 java 的类路径外部动态加载 Clojure 脚本?

转载 作者:搜寻专家 更新时间:2023-10-31 19:50:32 25 4
gpt4 key购买 nike

我希望允许用户定义的 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 中摸索,但我就是找不到它们。

最佳答案

试试 clojure.lang.Compiler.loadFile(String file)

关于java - 如何从 java 的类路径外部动态加载 Clojure 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3372077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com