Calling Clojure from Java
In this recipe, we will learn how to define Java classes in Clojure and call them from Java.
Getting ready
To include Java sources in a Leiningen project, we create the project.clj as follows and restart the REPL:
(defproject chapter05 "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:java-source-paths ["src/java"]
:aot [chapter05.calling-from-java]
:prep-tasks [
["compile" "chapter05.calling-from-java"]
"javac" "compile" ]
:main chapter05.TestHello
:dependencies [[org.clojure/clojure "1.8.0"]
])
How to do it...
We will take a look at how we define Java classes that can be called from Java.
Defining a simple named class using gen-class
The following code is a very simple code to print string...