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...