﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-枫中畅游-随笔分类-clojure</title><link>http://www.blogjava.net/javalinjx/category/53707.html</link><description>关注技术，热爱生活</description><language>zh-cn</language><lastBuildDate>Wed, 03 Jul 2013 05:43:47 GMT</lastBuildDate><pubDate>Wed, 03 Jul 2013 05:43:47 GMT</pubDate><ttl>60</ttl><item><title>使用leiningen搭建clojure开发环境</title><link>http://www.blogjava.net/javalinjx/archive/2013/07/03/401170.html</link><dc:creator>javalinjx</dc:creator><author>javalinjx</author><pubDate>Wed, 03 Jul 2013 05:40:00 GMT</pubDate><guid>http://www.blogjava.net/javalinjx/archive/2013/07/03/401170.html</guid><wfw:comment>http://www.blogjava.net/javalinjx/comments/401170.html</wfw:comment><comments>http://www.blogjava.net/javalinjx/archive/2013/07/03/401170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javalinjx/comments/commentRss/401170.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javalinjx/services/trackbacks/401170.html</trackback:ping><description><![CDATA[<div style="margin-bottom: 15px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 12px; line-height: 18px;"><h3><span style="line-height: 1.8em;">首先来讲下Leiningen是什么东东？</span></h3></div><div id="blog_content" style="line-height: 1.8em; font-family: Helvetica, Tahoma, Arial, sans-serif;"><p style="margin: 0px; padding: 0px;">Leiningen是一个用于自动化（构建）clojure项目的工具。</p><p style="margin: 0px; padding: 0px;">它可以做到：</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 创建新项目</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 管理你的项目的依赖关系</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 运行测试</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 运行一个REPL(读取-求值-打印循环:read-eval-print loop)</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 编译java源码</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 运行项目</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 为项目产生一个Maven风格的POM文件</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 为了部署，编译和打包项目</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 发布类库到Maven仓库，例如Clojars</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 运行Clojure编写的自定义的自动化任务（称为Leiningen插件）</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; ... 具体可以查看国内的大牛(killme2008)翻译的<a href="http://wiki.fnil.net/index.php?title=Leiningen_tutorial%E4%B8%AD%E6%96%87%E7%89%88" style="color: #108ac6;">Leiningen教程中文版</a>的详细介绍。</p><p style="margin: 0px; padding: 0px;">好些话说多了点，大家别着急啊，马上就切入主题：</p><p style="margin: 0px; padding: 0px;">1. 下载安装Leiningen</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp;linux:&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 1. 确保你是jdk 6 版本以下的。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 2.&nbsp;<a href="https://raw.github.com/technomancy/leiningen/stable/bin/lein" title="lein" target="_blank" style="color: #108ac6;">下载脚本lein</a></p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 3. 把lein加入下当前的$path下（~/bin 是最好的选择）</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 4. 赋可执行权限（chmod 755 ~/bin/lein）</p><p style="margin: 0px; padding: 0px;">&nbsp; windows:</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 1. 可以直接下载打包好的文件，地址是：<a href="https://bitbucket.org/djpowell/leiningen-win-installer/downloads/leiningen-installer-beta1.exe" target="_blank" style="color: #108ac6;">Leiningen for windows</a></p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 2. 点击下载好的*.exe文件进行安装</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 3. 安装好后，可以查看环境变量中会有相应的变量被设置好了：</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lein.bat is added to your PATH variable.</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; LEIN_JAVA_CMD&nbsp;is set to point to your selected JDK, and the&nbsp;:java-cmd&nbsp;property is set in your &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;user profile in&nbsp;profiles.clj.</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; 接下来，打开命令窗口，输入命令：lein self-install &nbsp;，会自动下载安装leiningen 相关的jar文件。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp;验证下安装成果： 在命令窗口中输入lein repl ，会自动连上nREPL server，进入repl模式，如下所示：</p><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;&nbsp;</p><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Shell代码&nbsp;<embed wmode="transparent" src="http://javalinjx.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=C%3A%5CUsers%5Clinjx%3Elein%20repl%0AnREPL%20server%20started%20on%20port%2021912%0AREPL-y%200.2.0%0AClojure%201.5.1%0A%20%20%20%20Docs%3A%20(doc%20function-name-here)%0A%20%20%20%20%20%20%20%20%20%20(find-doc%20%22part-of-name-here%22)%0A%20%20Source%3A%20(source%20function-name-here)%0A%20Javadoc%3A%20(javadoc%20java-object-or-class-here)%0A%20%20%20%20Exit%3A%20Control%2BD%20or%20(exit)%20or%20(quit)%0A%0Auser%3D%3E" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="" title="收藏这段代码" style="color: #108ac6;"><img src="http://javalinjx.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">C:\Users\linjx&gt;lein&nbsp;repl&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">nREPL&nbsp;server&nbsp;started&nbsp;on&nbsp;port&nbsp;<span style="color: #c00000;">21912</span>&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">REPL-y&nbsp;<span style="color: #c00000;">0.2</span>.<span style="color: #c00000;">0</span>&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">Clojure&nbsp;<span style="color: #c00000;">1.5</span>.<span style="color: #c00000;">1</span>&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;Docs:&nbsp;(doc&nbsp;function-name-here)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(find-doc&nbsp;"part-of-name-here")&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;Source:&nbsp;(source&nbsp;function-name-here)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;Javadoc:&nbsp;(javadoc&nbsp;java-object-or-class-here)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;Exit:&nbsp;Control+D&nbsp;or&nbsp;(exit)&nbsp;or&nbsp;(quit)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">user=&gt;&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 如果出现上面的提示，则说明leiningen安装成功，你可以在使用leiningen开发你的clojure之旅了。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; 但是往往我们不满足于现状，希望可以更有效的使用lein编写clojure。类似java的idea,eclipse一样，都对编写java提供了强大的工具，那么我们可以选择什么样的工具呢，毫无疑问，Emacs是最合适的工具，没有之一：）</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;对于我这断断续续学习emacs的来说，还真不是不容易，昨晚查看了相关的e文说明，在emacs中成功装配了nrepl ，用以后续的开发学习，便记录一下，希望对自己以后查阅，以及需要的人有所帮助。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;首先，我本地有emacs 24 版本的， 这里不想讲emacs 的安装，这个大家自个儿查询下google便可以了。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;在安装好leiningen之后，现在进入<a href="https://github.com/kingtim/nrepl.el" style="color: #108ac6;">nrepl</a>的主页看看，这是个什么东东！</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;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.</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; nrepl.el是emacs作为nrepl的一个客户端，nrepl是一个反对目前slime+swank-clojure组合的最好的替代品。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;下面来看下如何安装nrepl.el：</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; 1. emacs 24 以及更高版本是构建在package.el之上的，但是emacs 23以下版本的，你需要自己获取<a href="http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el" style="color: #108ac6;">package.el</a>&nbsp;.</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; 虽然我的是24版本的，但是我也下载了package.el，并存放在 &nbsp; &nbsp; C:\Users\linjx\AppData\Roaming\.emacs.d 目前下，这个是我的emacs在windows下的配置目录。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; 2. 这里需要提一个文件，即&nbsp;.emacs 文件，这个是emacs初始化配置的文件，位于C:\Users\linjx\AppData\Roaming 目录下。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;如果你不需要使用Marmalade,则添加配置 到 .emacs文件中，如下所示：</p><p style="margin: 0px; padding: 0px;">&nbsp;</p><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Lisp代码&nbsp;<embed wmode="transparent" src="http://javalinjx.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=(require%20'package)%0A(add-to-list%20'package-archives%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'(%22marmalade%22%20.%20%22http%3A%2F%2Fmarmalade-repo.org%2Fpackages%2F%22))%0A(package-initialize)" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="" title="收藏这段代码" style="color: #108ac6;"><img src="http://javalinjx.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">(require&nbsp;'package)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">(add-to-list&nbsp;'package-archives&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'("marmalade"&nbsp;.&nbsp;"http://marmalade-repo.org/packages/"))&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">(package-initialize)&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp;由于使用MELPA the code ，需要添加配置到 .emacs文件中，</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;</p><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Lisp代码&nbsp;<embed wmode="transparent" src="http://javalinjx.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=(require%20'package)%0A(add-to-list%20'package-archives%0A%20%20%20%20%20%20%20%20%20%20%20%20%20'(%22melpa%22%20.%20%22http%3A%2F%2Fmelpa.milkbox.net%2Fpackages%2F%22)%20t)%0A(package-initialize)" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="" title="收藏这段代码" style="color: #108ac6;"><img src="http://javalinjx.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">(require&nbsp;'package)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">(add-to-list&nbsp;'package-archives&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'("melpa"&nbsp;.&nbsp;"http://melpa.milkbox.net/packages/")&nbsp;t)&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">(package-initialize)&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; 在emacs中打开.emacs文件，并M-x eval-buffer，执行当前的配置。</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp;&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;3. &nbsp;刷新配置</p><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Lisp代码&nbsp;<embed wmode="transparent" src="http://javalinjx.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=M-x%20package-refresh-contents%20%20%E5%9B%9E%E8%BD%A6" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="" title="收藏这段代码" style="color: #108ac6;"><img src="http://javalinjx.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">M-x&nbsp;package-refresh-contents&nbsp;&nbsp;回车&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;emacs会自动下载安装Marmalade , melpa相关的配置；</p><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp;4. 安装nrepl</p><p style="margin: 0px; padding: 0px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;输入命令&nbsp;</p><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">命令代码&nbsp;<embed wmode="transparent" src="http://javalinjx.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=M-x%20package-install%20%E5%9B%9E%E8%BD%A6%0A%20%20%20%20%20%20%20nrepl%20%E5%9B%9E%E8%BD%A6" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="" title="收藏这段代码" style="color: #108ac6;"><img src="http://javalinjx.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">M-x&nbsp;package-install&nbsp;回车&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nrepl&nbsp;回车&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">&nbsp;&nbsp; &nbsp; 致此，nrepl集成到emacs的安装完毕，可以使用emacs开发你的hello world！了。</p><p style="margin: 0px; padding: 0px;">( 当然，emacs还可以与其他集成用来clojure的开发，这里我就不详述了，毕竟没有使用！）</p><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">现在我们使用lein new 一个clojure项目出来：</p><p style="margin: 0px; padding: 0px;">1. $ &nbsp;lein new hello</p><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">2. 打开emacs，在buffer中打开 hello所在的目录下的project.clj文件</p><p style="margin: 0px; padding: 0px;">&nbsp;</p><p style="margin: 0px; padding: 0px;">3. 输入命令：M-x nrepl-jack-in，即可初始化一个nrepl server &nbsp;和 nrepl client</p><p style="margin: 0px; padding: 0px;">如下图所示：</p><p style="margin: 0px; padding: 0px;"><br /><img src="http://dl2.iteye.com/upload/attachment/0086/4648/dfe266e5-6ed1-3746-9e45-e0d64a3f5917.jpg" alt="" style="border: 0px;" /><br />&nbsp;<br /><img src="http://dl2.iteye.com/upload/attachment/0086/4650/b9ef274b-c25a-3b04-9a6f-9862ca305608.jpg" alt="" style="border: 0px;" /><br />&nbsp;<br /><img src="http://dl2.iteye.com/upload/attachment/0086/4652/834514a5-31fc-3287-a88b-8fabd9d92849.jpg" alt="" style="border: 0px;" /></p></div><img src ="http://www.blogjava.net/javalinjx/aggbug/401170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javalinjx/" target="_blank">javalinjx</a> 2013-07-03 13:40 <a href="http://www.blogjava.net/javalinjx/archive/2013/07/03/401170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>