用Java调用Clojure
虽然很简单,但为了今天的学习也写一下。
我在GitHub上上传了示例代码。
pom.xml的配置
<plugin>
<groupId>com.theoryinpractise</groupId>
<artifactId>clojure-maven-plugin</artifactId>
<version>1.7.1</version>
</plugin>
使用Maven将Clojure源代码导入,这样就可以通过Maven运行它了。可以使用一些目标(Goal),如clojure:run、clojure:compile等。有关详细信息,请参考clojure-maven-plugin的GitHub页面。
除此之外
<configuration>
<sourceDirectories>
<sourceDirectory>src/main/clojure</sourceDirectory>
</sourceDirectories>
</configuration>
如果指定了这个,就可以指定Clojure源代码的位置。
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
所以,现在可以自动执行Compile阶段。
写Clojure
;src/main/clojure/HelloClojure.clj
(ns HelloClojure)
(defn hello
"My first main"
[]
(println "Hello from Clojure!"))
从Java调用
public static void main( String[] args ) {
// Hello from Java.
System.out.println( "Hello from Java!" );
// Hello from clojure.
Clojure.var("clojure.core/require").invoke(Clojure.read("HelloClojure"));
IFn func = Clojure.var("HelloClojure", "hello");
func.invoke();
}
用这个,可以从Java调用用Clojure编写的代码。
请提供参考文献
-
- How to use Maven to build Clojure code
- talios/clojure-maven-plugin | GitHub