我们之前已经写过Leiningen + Clojure之旅一篇Blog安装Leiningen。
今天我们在看看如何结合Leiningen写一个Clojure的Hello World,毕竟开始一门语言,都是从Hello World开始。
创建项目
我们还是先用lein创建一个项目,使用标准项目模板。
➜ lein new app clojure-demo --force |
这儿有关于new这个指令的详细使用介绍,包括项目模板的介绍。
➜ lein help new |
project.clj说明
project.clj
是Leigingen
为项目添加的配置文件,类似于Maven
的pom.xml
。我们来先看看都有些什么内容。
(defproject clojure-demo "0.1.0-SNAPSHOT" |
- 第一行,描述了项目名称以及版本,当前的项目名称就是
clojure-demo
,版本是0.1.0-SNAPSHOT
。如果一个项目版本以SNAPSHOT
结尾,通常表明该项目还处于开发阶段,还没有正式的release。 description
是该项目的简要描述。url
是可选的网址,可以是你项目将来上线后的实际地址。license
是该项目使用License,默认给你设置为Eclipse Public License
。dependencies
是我们初期最需要关注的内容,也就是我们项目中需要依赖的其他项目及其版本的配置。比如clojure-demo
这个项目就依赖了clojore-1.8.0的版本。main
是配置了当前项目执行的文件,比如clojure-demo.core
这个配置就表明了,执行文件就在src/clojure-demo/core.clj
。profiles
是我们自己个性化定制的不同profile的指令,比如,我们现在可以通过lein uberjar
将项目生成一个jar供其他项目使用。
结合IntelliJ
当你用IntelliJ打开clojure-demo
,发现你根本看不到项目的结构,只能看到最外层的文件,比如project.clj
等。src,test等目录和实际的代码你根本就看不到。那该怎么办?
可以先执行下面的命令:
➜ lein pom |
这样lein帮你生成了一个pom.xml
,你就可以按照Maven的方式import到IntelliJ中了。
执行Hello World!
好,项目也生成了,IDE也可以使用了,我们就开始经典的Hello World
吧。
我们在project.clj
中配置了直接运行的方式,那我们现在开始编辑一下core.clj
。
(ns clojure-demo.core |
执行一下看看效果
➜ lein run |
执行测试
我们先添加一个简单的方法,然后测试一下。
在core.clj
中添加my-plus
方法,简单计算一下两个数的相加
(defn my-plus |
在core_test.clj
中添加my-plus-test
的测试方法,测试一下1+1是否等于2
(deftest my-plus-test |
➜ lein test |
如果,你做到这一步的话,欢迎你来到Leiningen + Clojure的世界,Java工程师也可以体验一把Clojure带给你的不同体验吧。