1. 程式人生 > >在Eclipse中整合Leiningen -- integrate Leiningen into Eclipse using 'External Tools'

在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還有效的連結:

將下載好的檔案放到一個資料夾裡:



注意到我們將這些檔案放在了eclipse的工作空間裡,這樣子有便於利用eclipse“外部工具”中的變數來獲得檔案路徑,後面我們可以就看到。

第二步:修改指令碼

下載下來的指令碼預設會將使用者預設資料夾作為安裝目錄:



留意上面第15和16行,我們將修改第15行,讓它們指向我們放檔案的目錄,我們在第14行新增“setf0=%~f0”,並將15行中的“LEIN_HOME=%USERPROFILE%\.lein”改成“LEIN_HOME=%f0:~0,-8%”:



這裡的修改獲得指令碼(lein.bat)的當前路徑,從而使得無論你將資料夾“lein”放在哪裡都可以得到正確的路徑。

第三步:配置eclipse的externaltools

在eclipse中開啟externaltools的配置頁面。根據eclipse版本的不同,下面截圖也許有差別,本人使用的是eclipse3.7.1:

  1. Run -> External Tools -> External ToolsConfigurations…

  2. 在彈出視窗中選擇“Program”然後點選新建圖示:

  3. 然後在彈出的頁面中分別進行如下操作:

    1) —— 輸入名字如lein-new
    2) —— 點選“變數”按鈕然後選擇${workspace_loc},選擇後編輯地址條目讓它指向我們放Leiningen檔案的地方(這就是為什麼一開始要把檔案放到eclipse的工作空間,這裡利用了變數${workspace_loc}來指向我們的檔案)
    3) —— 點選“變數”按鈕然後選擇${workspace_loc}
    4) —— 在引數一欄輸入“new${project_name}”(這裡也可以通過先選取變數然後再編輯的方式)
  4. 在同一個頁面選取“重新整理”欄,並如下圖般進行勾選:

  5. 轉到“常規”欄,如下圖般勾選讓你新建的工具能夠在選單中顯示:

  6. 點選“應用”,然後“關閉”

第四步:應用

至此,我們就配置好了一個“工具”了。下面試試效果,新建一個clojure專案test並選中,然後從選單中選擇我們剛建立的工具:


當在控制檯看到執行完畢的訊息之後,我們可以發現test專案多出了以下東西:


這說明配置成功。

第五步:配置其它Leiningen命令

重複第三步,我們可以配置出Leiningen的其它命令(*這裡還有個技巧就是在配置外部工具的時候有一個“複製”按鈕,這個按鈕在幾個配置都幾乎相同但除了引數不同的情況下特別適用),如:


關於Leiningen的命令及其使用方式,可以參考它的指南