Clojureでの開発環境

今回は、Clojureの開発環境について紹介しましょう。

Clojureユーザには、LISPユーザが多いらしく、Emacs系開発環境が人気のようです。
代表的なものとしては、

といった組み合わせがよく使用されていて、さまざまなツールも用意されているようです。
Leiningenは、Clojure用の開発ツールで、Java開発におけるMavenに相当するものです。
普通に、Mavenリポジトリも使用可能です。
ですから、Clojure単体での開発ならば、これで十分です。

しかし、私のようにJavaからClojureを呼び出すような開発をしたい場合、
普段から使用しているEclipse環境で開発したいと思いますよね。

今回は、Eclipseを使う以下の環境を紹介します。

Eclipseでのメニュー

それでは、環境構築の手順を順番にみていきましょう。
以下の説明は、Eclipse + Maven でのJava開発の経験があり、
その開発環境が既に手元にあることを前提にしています。

  1. まず、Eclipse + Maven の Java開発環境を用意します。
  2. CounterclockwiseをEclipseにインストールします。
    インストール方法は、リンク先を参照してください。
    尚、Eclipse3.6であれば、Eclipse Marketplace から簡単に探してインストールすることができます。
  3. clojure-maven-pluginをインストールします。
    ソースコード配布の形態なので、リンク先からソースアーカイブをダウンロードして、ローカルで展開し、展開先のディレクトリで、mvn install を実効します。
  4. Eclipseを起動し、Clojure/Java開発で使用するJavaのMavenプロジェクトを新規作成またはインポートします。
  5. EclipseのProject Explore Viewで使用するプロジェクトを選択し
    [右クリック]-[Enable/disable clojure language support]
    (右図参照)
  6. プロジェクト配下に以下のフォルダを作成する。
    src/main/clojure
    src/test/clojure
  7. プロジェクトのpom.xmlに以下の要素を追加する。
    《 pom.xmlへの追加部分 》
    <dependencies>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>clojure</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.clojure</groupId>
            <artifactId>clojure-contrib</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>swank-clojure</groupId>
            <artifactId>swank-clojure</artifactId>
            <version>1.2.1</version>
        </dependency>
    </dependencies> 
    <repositories>
        <repository>
            <id>clojars</id>
            <url>http://clojars.org/repo</url>
        </repository>
        <repository>
            <id>clojure-releases</id>
            <url>http://build.clojure.org/releases</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
                </repository>
    </repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>com.theoryinpractise</groupId>
                <artifactId>clojure-maven-plugin</artifactId>
                <version>1.3.3</version>
                <executions>
                    <execution>
                        <id>compile-clojure</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-clojure</id>
                        <phase>test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <sourceDirectories>
                        <sourceDirectory>src/main/clojure</sourceDirectory>
                    </sourceDirectories>
                    <testSourceDirectories>
                        <testSourceDirectory>src/test/clojure</testSourceDirectory>
                    </testSourceDirectories>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
  8. プロジェクトの.classpathファイルを編集する。
    《 .classpathファイルの追加部分 》
    <classpath>
        <classpathentry kind="src" path="src/main/clojure" />
        <classpathentry kind="src" path="src/test/clojure" />
    </classpath>
    
    《 .classpathファイルの削除部分 》
    <classpath>
        <classpathentry kind="lib" path="clojure.jar" sourcepath="clojure-src.jar"/>
        <classpathentry kind="lib" path="clojure-contrib.jar" sourcepath="clojure-contrib-src.jar"/>
    </classpath>
    

いかがでしたでしょうか。
単体パッケージのインストールで完了というわけにはいきませんが、それほど困難を伴うものではありません。
さらに、今回紹介したClojarsには、Clojureユーザたちが作った様々なライブラリが集められています。
一度、覗いてみて、いろいろ試してみてはいかがでしょうか。

biz-Stream詳細情報  biz-Stream資料請求

超高速!!高機能!! Web帳票ソリューション biz-Stream

オンデマンドかつリアルタイムにビジネスドキュメントを生成する帳票ソリューション