Clojure基础环境搭建

Clojure初学,先使用REPL熟悉了一些语法知识,对于有Java基础的我来说,很快就熟悉了大部分语法规则,遂想能不能着手开发一个简单的小项目练手,既然要做项目,肯定要分模块,通过命名空间将不同模块按职责划分开。但问题来了,两个clj文件之间是如何引用的?如果想使用一个第三方的jar包,要如何导入classpath呢?接下来,我是这么做的。

首先,找一个目录作为我们的工作目录,然后在这个目录下建立bin,lib,workspace三个文件夹:

Clojure基础环境搭建

bin目录放的是Clojure的启动脚本,lib目录存放我们项目中依赖的jar包,workspace目录存放我们开发的clj源文件。

关键就是这个bin目录下的clj.bat脚本,里面是这么写的:

@echo off
java -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%CLJ_HOME%\lib" clojure.main %1

-Djava.ext.dirs用来指定classpath到%CLJ_HOME%\lib目录,当然CLJ_HOME需要配置到环境变量里。为了不覆盖java默认的扩展classpath,也要把%JAVA_HOME%\jre\lib\ext目录带上。

clojure.main是clojure的启动类,它可以接收一个clj文件作为参数,我们通过%1来从命令行读取。

然后我们把这个bin目录加入到环境变量的path里,这样方便我们在任何目录都可以执行clj命令。

接下来,在workspace目录创建源文件,我们有一个hello模块和一个test模块

hello.clj如下:

 (ns hello.hello
 (:import 
  date.DateTools))
(def 
 t (DateTools/getDate "yyyy-MM-dd HH:mm:ss"))
(defn hi [name]
 (print "Hello" name t))

其中,date.DateTools来自lib目录下的date-tools.jar

test.clj如下:

 (ns test.test
 (:require 
  [hello.hello :as h]))
(h/hi "xueliang")

保存好源文件,打开cmd命令行,进入到workspace目录。

Clojure基础环境搭建

然后执行clj test/test.clj

这样,基础环境就算完成,接下来就开始吧,有需要引用的第三方jar包或者我们自己封装好jar包就放到lib目录,然后在workspace目录里逐渐壮大我们的项目吧!

你可能感兴趣的:(环境,clojure,classpath)