Как я могу запустить Clojure REPL из моего java-приложения и предоставить некоторые «предопределенные переменные» (я новичок в Clojure, думаю, для этого есть лучший термин)? На самом деле я уже пытался заставить его работать по совпадению ... Я начал с clojure.main
и добавил дополнительный вызов в RT.var (). Это правильный способ сделать это?
import clojure.lang.Symbol;
import clojure.lang.Var;
import clojure.lang.RT;
public class MyClojure {
final static private Symbol CLOJURE_MAIN = Symbol.intern("clojure.main");
final static private Var REQUIRE = RT.var("clojure.core", "require");
final static private Var MAIN = RT.var("clojure.main", "main");
// Provide some context, this is my custimisation...
@SuppressWarnings("unused")
final static private Var Test = RT.var("testme", "myvar", "This is the initial value");
public static void main(String[] args) throws Exception {
REQUIRE.invoke(CLOJURE_MAIN);
MAIN.applyTo(RT.seq(args));
}
}
РЕДАКТИРОВАТЬ: мое приложение не является веб-приложением. Это отдельное настольное приложение, которое в основном отображает / редактирует модель данных pojo. Теперь я хочу добавить поддержку, чтобы представить модель данных из запущенного приложения в repl clojure. После этого я смогу изменить / проверить модель данных как в исходном приложении, так и в репле.