-->

Java and Clojure with Leiningen

2019-01-13 04:22发布

问题:

Is it possible to easily manage and compile native Java classes alongside Clojure in a project using leiningen?

I am working at a pretty low level (with netty nio) and thinking that some of the plumbing classes would actually be easier to handle as raw java both in terms of constructing the code as well as performance.

回答1:

In Leiningen tutorial there is following statement

For projects that include some Java code, you can set the :java-source-path key in project.clj to a directory containing Java files. Then the javac compiler will run before your Clojure code is AOT-compiled, or you can run it manually with the javac task.

so it should work out of box if :java-source-paths option is set



回答2:

As of Leiningen 2.x, :java-source-path has been replaced with :java-source-paths, whose value is now specified as a vector rather than a string.

A good place to find a full (up-to-date) documentation of Leiningen features is to peruse the sample project file. In this case, you will see:

:java-source-paths ["src/main/java"]



回答3:

Use Vinyasa - I wrote it especially to deal with this problem

Here is a blog post Dynamic reloading of java code in emacs/nrepl