사용자 정의 Clojure 스크립트가 Java App과 상호 작용할 수있게하고 싶습니다. 문제는 Clojure 스크립트가 어디에 배치 될지 미리 알지 못하기 때문에 앱을 실행할 때 클래스 패스에 포함시킬 수 없다는 것입니다.Java에서 클래스 경로 외부에서 Clojure 스크립트를 동적으로로드하는 방법은 무엇입니까?
클래스 경로 외부에서 Clojure 스크립트를 어떻게 동적으로로드합니까?
(ns user)
(defn foo [a b]
(str a " " b))
하지만 행운 :처럼 보이는 test.clj와
RT.loadResourceScript("test.clj");
Var foo = RT.var("user", "foo");
Object result = foo.invoke("Hi", "there");
System.out.println(result);
:
나는 간단한 예를 시도했습니다.
나는 RT.makeClassLoader()
또는 RT.baseLoader()
과 관련이 있으며 반환 된 로더를 사용하여 clojure 파일을로드한다고 생각하지만 제대로 작동하지 않는 것 같습니다. (나는 계속 ClassNotFound
을 얻고있다.) 아마도 나는 clojure.lang.RT
을위한 javadoc을 혼란스럽게 할 수 있었지만, 나는 그것을 찾을 수 없었다.
예 ... 어디에 있습니까? # :/ – progo