枫中畅游

关注技术,热爱生活
随笔 - 15, 文章 - 0, 评论 - 3, 引用 - 0
数据加载中……

使用leiningen搭建clojure开发环境

首先来讲下Leiningen是什么东东?

Leiningen是一个用于自动化(构建)clojure项目的工具。

它可以做到:

    创建新项目

    管理你的项目的依赖关系

    运行测试

    运行一个REPL(读取-求值-打印循环:read-eval-print loop)

    编译java源码

    运行项目

    为项目产生一个Maven风格的POM文件

    为了部署,编译和打包项目

    发布类库到Maven仓库,例如Clojars

    运行Clojure编写的自定义的自动化任务(称为Leiningen插件)

    ... 具体可以查看国内的大牛(killme2008)翻译的Leiningen教程中文版的详细介绍。

好些话说多了点,大家别着急啊,马上就切入主题:

1. 下载安装Leiningen

   linux: 

        1. 确保你是jdk 6 版本以下的。

        2. 下载脚本lein

        3. 把lein加入下当前的$path下(~/bin 是最好的选择)

        4. 赋可执行权限(chmod 755 ~/bin/lein)

  windows:

        1. 可以直接下载打包好的文件,地址是:Leiningen for windows

        2. 点击下载好的*.exe文件进行安装

        3. 安装好后,可以查看环境变量中会有相应的变量被设置好了:

         lein.bat is added to your PATH variable.

        LEIN_JAVA_CMD is set to point to your selected JDK, and the :java-cmd property is set in your              user profile in profiles.clj.

        

        接下来,打开命令窗口,输入命令:lein self-install  ,会自动下载安装leiningen 相关的jar文件。

       

       验证下安装成果: 在命令窗口中输入lein repl ,会自动连上nREPL server,进入repl模式,如下所示:

 

      

Shell代码  收藏代码
  1. C:\Users\linjx>lein repl  
  2. nREPL server started on port 21912  
  3. REPL-y 0.2.0  
  4. Clojure 1.5.1  
  5.     Docs: (doc function-name-here)  
  6.           (find-doc "part-of-name-here")  
  7.   Source: (source function-name-here)  
  8.  Javadoc: (javadoc java-object-or-class-here)  
  9.     Exit: Control+D or (exit) or (quit)  
  10.   
  11. user=>  

 

    如果出现上面的提示,则说明leiningen安装成功,你可以在使用leiningen开发你的clojure之旅了。

    但是往往我们不满足于现状,希望可以更有效的使用lein编写clojure。类似java的idea,eclipse一样,都对编写java提供了强大的工具,那么我们可以选择什么样的工具呢,毫无疑问,Emacs是最合适的工具,没有之一:)

     对于我这断断续续学习emacs的来说,还真不是不容易,昨晚查看了相关的e文说明,在emacs中成功装配了nrepl ,用以后续的开发学习,便记录一下,希望对自己以后查阅,以及需要的人有所帮助。

     首先,我本地有emacs 24 版本的, 这里不想讲emacs 的安装,这个大家自个儿查询下google便可以了。

     在安装好leiningen之后,现在进入nrepl的主页看看,这是个什么东东!

     nrepl.el is an Emacs client for nREPL,the Clojre networked REPL server.It's a great alternative to the now deprecated combination fo SLIME + swank-clojure.

    nrepl.el是emacs作为nrepl的一个客户端,nrepl是一个反对目前slime+swank-clojure组合的最好的替代品。

     下面来看下如何安装nrepl.el:

      1. emacs 24 以及更高版本是构建在package.el之上的,但是emacs 23以下版本的,你需要自己获取package.el .

      虽然我的是24版本的,但是我也下载了package.el,并存放在     C:\Users\linjx\AppData\Roaming\.emacs.d 目前下,这个是我的emacs在windows下的配置目录。

      2. 这里需要提一个文件,即 .emacs 文件,这个是emacs初始化配置的文件,位于C:\Users\linjx\AppData\Roaming 目录下。

         如果你不需要使用Marmalade,则添加配置 到 .emacs文件中,如下所示:

 

Lisp代码  收藏代码
  1. (require 'package)  
  2. (add-to-list 'package-archives  
  3.              '("marmalade" . "http://marmalade-repo.org/packages/"))  
  4. (package-initialize)  

 

 由于使用MELPA the code ,需要添加配置到 .emacs文件中,

     

Lisp代码  收藏代码
  1. (require 'package)  
  2. (add-to-list 'package-archives  
  3.              '("melpa" . "http://melpa.milkbox.net/packages/") t)  
  4. (package-initialize)  

 

  在emacs中打开.emacs文件,并M-x eval-buffer,执行当前的配置。

    

     3.  刷新配置

Lisp代码  收藏代码
  1. M-x package-refresh-contents  回车  

     emacs会自动下载安装Marmalade , melpa相关的配置;

 

     4. 安装nrepl

         输入命令 

命令代码  收藏代码
  1. M-x package-install 回车  
  2.        nrepl 回车  

 

     致此,nrepl集成到emacs的安装完毕,可以使用emacs开发你的hello world!了。

( 当然,emacs还可以与其他集成用来clojure的开发,这里我就不详述了,毕竟没有使用!)

 

现在我们使用lein new 一个clojure项目出来:

1. $  lein new hello

 

2. 打开emacs,在buffer中打开 hello所在的目录下的project.clj文件

 

3. 输入命令:M-x nrepl-jack-in,即可初始化一个nrepl server  和 nrepl client

如下图所示:



 

 

posted on 2013-07-03 13:40 javalinjx 阅读(8246) 评论(0)  编辑  收藏 所属分类: javaclojure


只有注册用户登录后才能发表评论。


网站导航: