Java и Clojure с Leiningen

Можно ли легко управлять и компилировать собственные классы Java вместе с Clojure в проекте с использованием leiningen?

Я работаю на довольно низком уровне (с netty nio) и думаю, что некоторые классы сантехники было бы проще обрабатывать как необработанную java как с точки зрения построения кода, так и с точки зрения производительности.


person Toby Hede    schedule 25.03.2011    source источник


Ответы (3)


В руководстве Leiningen есть следующее утверждение

Для проектов, которые включают некоторый код Java, вы можете установить ключ: java-source-path в файле project.clj для каталога, содержащего файлы Java. Затем компилятор javac будет запущен до того, как ваш код Clojure будет скомпилирован AOT, или вы можете запустить его вручную с помощью задачи javac.

поэтому он должен работать из коробки, если установлена ​​опция :java-source-paths

person Alex Ott    schedule 25.03.2011

Начиная с Leiningen 2.x, :java-source-path был заменен на :java-source-paths, значение которого теперь указывается как вектор, а не строка.

Хорошее место, чтобы найти полную (актуальную) документацию по функциям Leiningen, - это просмотреть образец файла проекта. В этом случае вы увидите:

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

person Tom    schedule 09.08.2012
comment
Кроме того, для повторной компиляции и перезагрузки классов Java см. Вирджил (github.com/ztellman/virgil) и мой ответ на stackoverflow.com/a/39857961/232644. Виньяса устарела. - person Kalle; 17.09.2019

Используйте Vinyasa - я написал это специально для решения этой проблемы

Вот сообщение в блоге Динамическая перезагрузка кода Java в emacs / nrepl

person zcaudate    schedule 03.01.2014