建立Clojure開發環境-使用IDEA和Leiningen

devos發表於2015-01-04

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

 

相關文章