在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'

*Note: If you want to read an English version of this article, please give me a sign so that I can translate my article into English (when I am available微笑). Or, you can refer to this one alternatively: http://sexp.posterous.com/poor-mans-integrating-leiningen-into-counterc. BUT please be aware of that it's different from following one.


Leiningen是特意为Clojure而写的自动化工程构建工具,这个工具是基于Maven之上开发的。有了这个工具,我们就可以通过直接编写Clojure代码来指挥Leiningen去构建工程。

这个工具并没有现成的eclipse插件,参考网上找到的这篇博客的介绍,使用eclipse的“外部工具” (externaltools)来集成Leiningen到eclipse。

Leiningen在Github上的主页介绍了两种安装方法:

  • 下载脚本,运行脚本进行安装(在Windows上和Unix/Linux上稍有区别,在Windows上要求多下载一个下载工具),或者
  • 直接下载使用已经打好的jar包

强迫症使得笔者想使用手动安装配置(这样就不会有留下垃圾的担忧了),所以我们使用直接下载的jar包。下面是步骤。

第一步:下载文件

这里要注意一点是:无论在Linux还是Windows下面,Leiningen都是通过脚本来启动的,在Windows平台下面的脚本是lein.bat(也就是那个可以用来安装Leiningen的脚本),因此我们除了下载jar之外还得下载这个脚本,从github上可以找到相关的连接,这里为了方便给出截止到2011/11/7还有效的链接:

  • jar: https://github.com/downloads/technomancy/leiningen/leiningen-1.6.1.1-standalone.jar
  • lein.bat: https://raw.github.com/technomancy/leiningen/stable/bin/lein.bat

将下载好的文件放到一个文件夹里:

在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第1张图片


注意到我们将这些文件放在了eclipse的工作空间里,这样子有便于利用eclipse“外部工具”中的变量来获得文件路径,后面我们可以就看到。

第二步:修改脚本

下载下来的脚本默认会将用户默认文件夹作为安装目录:

在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第2张图片


留意上面第15和16行,我们将修改第15行,让它们指向我们放文件的目录,我们在第14行添加“setf0=%~f0”,并将15行中的“LEIN_HOME=%USERPROFILE%\.lein”改成“LEIN_HOME=%f0:~0,-8%”:

在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第3张图片


这里的修改获得脚本(lein.bat)的当前路径,从而使得无论你将文件夹“lein”放在哪里都可以得到正确的路径。

第三步:配置eclipse的externaltools

在eclipse中打开externaltools的配置页面。根据eclipse版本的不同,下面截图也许有差别,本人使用的是eclipse3.7.1:

  1. Run -> External Tools -> External ToolsConfigurations…
    在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第4张图片
  2. 在弹出窗口中选择“Program”然后点击新建图标:
    在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第5张图片
  3. 然后在弹出的页面中分别进行如下操作:
    在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第6张图片
    1) —— 输入名字如lein-new
    2) —— 点击“变量”按钮然后选择${workspace_loc},选择后编辑地址条目让它指向我们放Leiningen文件的地方(这就是为什么一开始要把文件放到eclipse的工作空间,这里利用了变量${workspace_loc}来指向我们的文件)
    3) —— 点击“变量”按钮然后选择${workspace_loc}
    4) —— 在参数一栏输入“new${project_name}”(这里也可以通过先选取变量然后再编辑的方式)
  4. 在同一个页面选取“刷新”栏,并如下图般进行勾选:
    在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第7张图片
  5. 转到“常规”栏,如下图般勾选让你新建的工具能够在菜单中显示:
    在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第8张图片
  6. 点击“应用”,然后“关闭”

第四步:应用

至此,我们就配置好了一个“工具”了。下面试试效果,新建一个clojure项目test并选中,然后从菜单中选择我们刚建立的工具:

在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第9张图片

当在控制台看到运行完毕的消息之后,我们可以发现test项目多出了以下东西:

在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第10张图片

这说明配置成功。

第五步:配置其它Leiningen命令

重复第三步,我们可以配置出Leiningen的其它命令(*这里还有个技巧就是在配置外部工具的时候有一个“复制”按钮,这个按钮在几个配置都几乎相同但除了参数不同的情况下特别适用),如:

在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'_第11张图片

关于Leiningen的命令及其使用方式,可以参考它的指南。

你可能感兴趣的:(eclipse,脚本,工具,clojure,tools,leiningen)