Compojure, Leiningenのインストール
CompojureはClojure製のWebフレームワークです。
インストール
Conpojureを使うには、
- Compojureが依存するライブラリのjarを用意する事
- Compojure自身のjarを生成する事
が必要です。
それには分かった名前のClojure製ビルドシステム、"Leiningen"を使います。
Clojureのzip、Compojureのzip、leiningenのzipと、standaloneのjarをダウンロードし、zipを適当な場所に解凍します。
│ clojure.jar │ leiningen-1.1.0-standalone.jar │ ├─compojure └─leiningen ├─bin │ lein │ lein.bat ├─sample ├─src └─test
コマンドプロンプトでCompojureのフォルダに移動し、Leiningenを実行します。
Leiningen\bin\leinには、自動でclojureやLeiningenのjarをインストールする機能があるのですが、Windowsでは使えないので、手動でclojure.jarやleiningen-1.1.0-standalone.jarをダウンロードして、環境変数をセットする必要があります。
"lein deps"で依存するjarを、libフォルダの中にダウンロード、
"lein jar" でcompojure.jarの生成を行います。
$>cd D:\Owner\temp\compojure $>set lein_jar=..\leiningen-1.1.0-standalone.jar $>set clojure_jar=..\clojure-1.1.0\clojure.jar $>..\leiningen\bin\lein.bat deps [copy] Copying 16 files to D:\Owner\temp\compojure\lib $>..\leiningen\bin\lein.bat jar All :namespaces already compiled. Created D:\Owner\temp\compojure/compojure.jar
Hello World!
leinは便利そうですが、まだ使い方が分からないので、取り合えずleinなしでCompojureを使ってみます。
さっき出来たlibフォルダにcompojure.jarを放り込み、compojureのreadmeをコピーして、hello-compojure.cljを作ります。
;hello-compojure.clj (ns hello-world (:use compojure.core, ring.adapter.jetty) (:require [compojure.route :as route])) (defroutes main-routes (GET "/" [] "<h1>Hello World</h1>") (route/not-found "<h1>Page not found</h1>")) (run-jetty main-routes {:port 8080})
│ hello-compojure.clj │ └─lib clojure-1.1.0.jar clojure-contrib-1.1.0.jar compojure.jar (以下略)
そして、javaから直接Clojureを実行し、サーバーを起動。
$>java -cp ".;lib\*" clojure.main hello-compojure.clj
http://localhost:8080/を開くとHello Worldが、http://localhost:8080/some-invalidなどを開くとPage not foundが見れます。
次回はCompojureをGAEと同時に使う予定。