我非常接近能够做到这一点。我选择JDatePicker来查看它需要什么。步骤进行:
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"]]}}
在.jar文件所在的JDatePicker目录中,使用localrepo为jdatepicker提供一个坐标,以便lein项目可以使用它。我正在使用lein版本:
idf@idf-Satellite-C55t-A ~/Documents/clojure/jdatepickertest $ lein version
Leiningen 2.5.0 on Java 1.7.0_72 Java HotSpot(TM) 64-Bit Server VM
idf@idf-Satellite-C55t-A ~/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文件并将[org / 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
在jdatepickertest目录中启动了一个repl
11) lein repl
现在我尝试使用clojure中的jdatepicker,但我似乎无法访问它?
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=>
答案 0 :(得分:5)
你不需要lein-localrepo,只需在project.clj中指定maven坐标即可。
[org.jdatepicker/jdatepicker "1.3.4"]
require
用于clojure命名空间。使用时将在类路径中查找Java类,如果您更喜欢使用非限定类名,则可以使用import
。
(import org.jdatepicker.JDatePicker)
之后,您可以像使用任何其他Java库一样通过interop继续使用JDatePicker
。