Java 코드에서 일부 clojure 함수에 액세스하려고합니다 (Eclipse 및 CounterClockWise를 사용하고 있습니다). 첫째, 어떻게해야할지 모르겠다. 그런데 어떤 대답을 발견했습니다 here.클래스 경로에 Clojure 리소스를 찾을 수 없습니다.
내 Java 코드에서 .clj
파일을 호출 할 때 clojure.lang.RT package
을 사용하고 있습니다. 네임 스페이스의 이름을 지정하는 중에 이 test.clojure
패키지의 어딘가에 .clj
파일 인 것처럼 .clj
파일의 규칙이 준수되었습니다. 또한 몇 가지 정보를 따르는 중에 Java 소스 경로 (예 : java-source-path src/test/java
)와 소스 경로 (예 : source-path src/test/clojure
)를 내 project.clj
에 추가했습니다.
그러나 자바 파일을 실행하면 다음 오류가 발생합니다. - a) Could not locate Clojure resource on classpath
b) Attempting to call unbound fn
.
세부 절차 나 튜토리얼을 통해 커뮤니티에있는 사람이 도움이 될 수 있다면 (clojure.lang.RT
사용) 얻을 수있는 정보는 거의 없기 때문에 (절대적인 초보자라고 가정) 도움이 될 수 있으면 제발 감사드립니다.
내 좌절을 끝내기위한 완전한 답을 기다리고 있습니다.
시도해보십시오. BTW 거기에 대한 적절한 설명서 및/또는 동일한 설명서가 있습니다. – user2108042
안녕하세요 Ankur, 다음 클로이 저 코드를 사용해 보았습니다. ** '(ns test.clojure.core) (defn hello-world [x] (str "Hello"x)) ** 및 Java 코드 : ** "RT.var ("clojure.core ","eval "). invoke (RT.var ("clojure.core ","hello-world "). invoke ("(test.clojure.core 사용) ")); \t \t \t IFn fn = (IFn) RT.var ("test.clojure.core", "hello"); \t \t \t 개체 결과 = fn.invoke(); '** 그리고 지금이 오류가 점점 오전 : ** 언 바운드 FN 전화를 시도 : #'clojure.core/안녕하세요 세계 ** – user2108042
'RT를. invoke (RT.var ("clojure.core", "read-string"). invo ke ("(test.clojure.core 사용)")); IFn fn = (IFn) RT.var ("test.clojure.core", "hello-world"); 개체 결과 = fn.invoke ("test"); ' – Ankur