The means by which Clojang projects generate new JInterface releases to Clojars
The various Clojang projects use various versions of Erlang's JInterface Java library, depending upon the version of Erlang (see the table below to check which versions of Erlang pair up with which versions of JInterface).
In fact, getting Erlang, JInterface, and Clojure working together can be tricky just for the simple fact that the JInterface
.jar files available in various locations online can be mismatched with the intended version of Erlang (or not built properly).
Due to the problems we have encountered in running Clojure/BEAM applications with the available JInterface
.jar files on Clojars, we needed a reliable solution. After the good results, we wanted to help out by publishing what, so far, seem to be working JInterface
.jar files on Clojars. They are available here:
(Note that we don't yet have automated builds and testing set up for those; feedback/assistance is welcome).
To make this easier for devs to do themselves, the JInterface "builder" (a handful of
make targets) has been released as its own project: this one.
JInterface is only guaranteed to work with the version of Erlang with which it was released. The following table correlates version numbers:
|Erlang Release||Erlang Version (erts)||JInterface|
A convenience target is provided to display the versions that will be used to build JInterface:
$ make show-versions
Here is the list of versions we've published on Clojars to date (also availble here):
If you would like to use a version not yet uploaded to Clojars, let us know (i.e., open a ticket), and we'll see what we can do to get you sorted.
To ensure that your version of JInterface is ready for use by Clojure with your version of Erlang, simply do this:
(Which points to the the
This will discover the Erlang root directory for the first
erl found in your
PATH. This will be used to find the JInterface Java source files for that version
If you wish to override this, you may do the following:
$ make ERL_LIBS=/opt/erlang/15.3.1
make target (which depends upon Maven being installed) will
.jar file for you in your
~/.m2/repository directory, just like
lein does with downloaded Clojars.
Copyright © 2018 The Clojang Project Copyright © 2016-2017 Duncan McGreggor Distributed under the Apache License Version 2.0.