Я очень близок к возможности сделать это. Я выбрал JDatePicker, чтобы посмотреть, что нужно. Шаги:Шаги по использованию библиотеки сторонних разработчиков java от clojure
1) git clone https://github.com/JDatePicker/JDatePicker
2) cd JDatePicker
3) mvn package
Затем установлен localrepo Не знаю, если есть более простой способ, но это, кажется, путь, на который указывает другим в Интернете.
4) vi ~/.lein/profiles.clj
5) {:user {:plugins [[lein-localrepo "0.5.3"]]}}
каталога Внутри JDatePicker где .jar файл находится, используется localrepo дать jdatepicker координаты так, что LEIN проекты могут использовать его. Я использую LEIN версии:
[email protected] ~/Documents/clojure/jdatepickertest $ lein version
Leiningen 2.5.0 on Java 1.7.0_72 Java HotSpot(TM) 64-Bit Server VM
[email protected] ~/Documents/clojure/jdatepickertest $
6) lein localrepo install jdatepicker-2.0.0-SNAPSHOT.jar org/jdatepicker 2.0.0
создал новый проект Clojure, чтобы увидеть, если я могу получить к нему доступ
7) lein new jdatepickertest
8) cd jdatepickertest
модифицированный файл project.clj и добавил [орг/jdatepicker "2.0.0"] в разделе зависимостей
9)
(defproject jdatepickertest "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"}
:dependencies
[
[org.clojure/clojure "1.6.0"]
[org/jdatepicker "2.0.0"]
])
сделал LEIN Deps, которые возвращали ничто так не предполагается, все шло хорошо
10) lein deps
начал Repl внутри директории jdatepickertest
11) lein repl
Теперь я пытаюсь использовать jdatepicker из Clojure, но я не могу получить к нему доступ?
12)
nREPL server started on port 43286 on host 127.0.0.1 - nrepl://127.0.0.1:43286
REPL-y 0.3.5, nREPL 0.2.6
Clojure 1.6.0
Java HotSpot(TM) 64-Bit Server VM 1.7.0_72-b14
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
user=> (clojure-version)
"1.6.0"
user=> (require '[jdatepicker :as datepicker])
FileNotFoundException Could not locate jdatepicker__init.class or jdatepicker.clj on classpath: clojure.lang.RT.load (RT.java:443)
user=> (require '[org.jdatepicker :as datepicker])
FileNotFoundException Could not locate org/jdatepicker__init.class or org/jdatepicker.clj on classpath: clojure.lang.RT.load (RT.java:443)
user=>
Быстрый вопрос, как создать экземпляр JDatePicker внутри панели и отобразить его? – Ivan
Руководство на [clojure.org] (http://clojure.org/java_interop) довольно хорошо. Посмотрите, какой конструктор вы хотите использовать, и вызовите его из Clojure. '(JDatePicker.)' –
noisesmith
Пожалуйста, ознакомьтесь с этим вопросом http://stackoverflow.com/questions/27304476/simple-java-interop-from-clojure – Ivan