建立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!"

原文地址:https://www.cnblogs.com/devos/p/4201743.html