2014-02-27 2 views
1

혼합 된 Clojure/Java 환경에서 프로그래밍 중이다. Maven을 사용하고 있으며, clojars.org의 Clojure 라이브러리가 일부 의존하고 있습니다.Ahead (Ahead of Time) Maven의 Clojure 라이브러리 컴파일

Java 코드가 Clojure에 정의 된 레코드를 참조하므로 Java 코드보다 먼저 Clojure 코드에서 AOT 컴파일을 수행해야합니다. Maven과 clojure-maven-plugin을 사용하여 어떻게 이것을 할 수 있습니까?

답변

0

네임 스페이스가 AOT 컴파일 된 경우 필요하거나 사용하는 모든 네임 스페이스는 AOT로 컴파일됩니다. Clojure에서 보통 하나의 최상위 Clojure 네임 스페이스를 가지며,이 경우 AOT가 네임 스페이스를 컴파일하는 것으로 충분할 것이다. Java에서 Clojure를 호출하면 여러 최상위 Clojure 네임 스페이스를 가질 수 있습니다. 모두가 무엇인지 알아 내고 모두가 AOT로 컴파일되도록하는 것이 좋습니다. Clojure는 어떤 종류의 재귀 적 종속성도 허용하지 않기 때문에 네임 스페이스가 최상위인지 여부는 애매한 질문이 아닙니다. 최상위 이름 공간은 다른 Clojure 이름 공간에서 필요하지 않거나 사용되지 않는 공간입니다.

관련 문제