Clojure里调用Java类

前言:

找了好久,居然没找到一篇简单明了的说明如何在Clojure里调用自己写的Java类,特别是在REPL里调用自己写的Java类的文章,只好自己摸索,将结果总结如下

1、关于Leiningen

REPL里调用自己写的Java类离不开Lein的帮助

Leiningen 的操作诸如

lein run 
lein test
lein repl

都是上下文有关,特定于所处的项目

2、为项目设置java-source-paths

不管是在一个已有项目,还是用 lein new xxx新建一个项目,
总之需要在项目文件project.clj里的defproject里修改(或者添加)属性:
:java-source-paths

例如项目“hi”的project.clj

(defproject hi "0.0.1-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [seesaw "1.4.5"]]
  :javac-options ["-target" "1.6" "-source" "1.6" "-Xlint:-options"]
  :java-source-paths ["src/java"]
  :aot [hi.core]
  :main hi.core)

src/java:project.clj所在目录下的src/java目录里放置Java代码

3、编译Java源文件

参考https://github.com/technomancy/leiningen/blob/master/doc/MIXED_PROJECTS.md
lein run , lein test, etc会自动编译Java源代码
(顺便一提,lein uberjar会编译clojure项目成一个jar包,供JVM调用)

但如果想要在项目的REPL里调用自己编写的Java类,需要lein javac手工编译

然后就可以Clojure里调用Java类了。。。

实例代码http://download.csdn.net/detail/minghu9/9524391

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值