建立Clojure开发环境-使用IDEA和Leiningen
OS: Mac OS X 10.10
IDEA 14.0.2 Community Edition
安装Leiningen
按照http://leiningen.org/的指南安装lein
阅读Leiningen教程中文版了解leiningen
如果需要使用代理,需要执行
export HTTPS_PROXY=host:port
export HTTP_PROXY=host:port
(当执行lein deps时,如果也需要使用代理,得export https_proxy以及export http_proxy)
安装La Clojure
安装IDEA插件La Clojure。进行IDEA后,点左上角的IntelliJ IDEA, 选preferences, 然后左边选Plugins, 点Browse Repositories, 搜索Clojure, 下载La Clojure。
新建项目
在workspace下建立clojure工程。输入 lein new groupId/artifactId。groupId和artifactId和Maven里的概念一致
比如我输入 lein new hs.clojure/learn, 就会依照模版建立一个clojure工程。
导入IDEA
这个工程直接导入IDEA不会被正确识别,因此需要在learn目录下再执行lein pom,生成相应的pom。
然后在IDEA中import project,选择Import project from external model, 然后点Maven,一路点下去。
配置main函数
在打开的IDEA工程中,打开src目录,在hs.clojure包中有learn.clj文件。
这个clojure文件中,并没有main函数,因此在IDEA中执行run, 什么也不会输出。
把这个文件的内容改一下
(ns hs.clojure.learn) (defn -main [& args] (println "Hello, World!"))
然后在IDEA中最上边的菜单中点Run, 选择Edit Configurations, 选中Run main function in the script namespace,点OK。
在Run菜单中执行Run "learn", 程序会打印出"Hello, World!"。
这时候,如果执行lein run, 会说“No :main namespace specified in project.clj”.
需要修改project.clj
(defproject hs.clojure/learn "0.1.0-SNAPSHOT" :main hs.clojure.learn :dependencies [[org.clojure/clojure "1.6.0"]])
保存后,执行lein run,输出"Hello, world!"