Содержимое переменной среды (Java) CLASSPATH
доступно для Clojure, поэтому, если вы добавите свой jar в глобальный путь к классам перед запуском Clojure, вы его «увидите»:
export CLASSPATH=/path/to/jfreechart.jar:$CLASSPATH
Но, на мой взгляд, это не «чистый» способ добавить jar в classpath Clojure (потому что это делает библиотеку видимой для любой Java-программы и может быть нежелательной). Вместо этого вы должны использовать переменную окружения CLOJURE_EXT
. Вот как задокументирована эта переменная:
# CLOJURE_EXT The path to a directory containing (either directly or as
# symbolic links) jar files and/or directories whose paths
# should be in Clojure's classpath. The value of the
# CLASSPATH environment variable for Clojure will be a list
# of these paths followed by the previous value of CLASSPATH
# (if any).
В моей системе это определяется следующим образом:
export CLOJURE_EXT=~/.clojure
Итак, чтобы добавить jfreechart.jar (или любую другую библиотеку) в путь к классам Clojures, скопируйте его (или добавьте символическую ссылку, указывающую на него) в каталог, определенный в переменной CLOJURE_EXT
.
И, кстати (извините, но ваш вопрос не так понятен), если вы хотите связать некоторые классы Java в jar, команда будет выглядеть примерно так:
$ jar cf myjarfile *.class
Документацию по jar
- инструменту архивирования Java - здесь .