OpenDJの開発環境を構築する

OpenDJの開発環境をCentOS 6.7に導入したときのメモを残しておきます。開発環境を構築するのは、OpenAM同様に特に難しいことはありません。

環境構築をする上で、以下がインストールされていることを前提とします。カッコ内は私の環境でのバージョンです。

  • Java (OpenJDK 1.7.0_95)
  • Maven (3.1.0)
  • Git (2.2.0)
  • IntelliJ (15.0.4 Community Edition)

まずは、gitコマンドでForgeRock社のStashサーバーからソースコードをダウンロードします。

$ git clone https://stash.forgerock.org/scm/opendj/opendj.git opendj_src
Cloning into 'opendj_src'...
Username for 'https://stash.forgerock.org': kohei
Password for 'https://kohei@stash.forgerock.org': 
remote: Counting objects: 241610, done.
remote: Compressing objects: 100% (42714/42714), done.
remote: Total 241610 (delta 161139), reused 237694 (delta 157667)
Receiving objects: 100% (241610/241610), 186.56 MiB | 61.00 KiB/s, done.
Resolving deltas: 100% (161139/161139), done.
Checking connectivity... done.

次に、mvnコマンドでビルドを行います。ビルドは30分ほどかかるかもしれません。テストをスキップするオプション(-DskipTests=true)などを付けた方がいいかもしれません。

$ cd opendj_src
$ mvn clean install
[INFO] Scanning for projects...
Downloading: https://maven.java.net/content/repositories/snapshots/org/forgerock/opendj/opendj-sdk-parent/4.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://maven.forgerock.org/repo/snapshots/org/forgerock/opendj/opendj-sdk-parent/4.0.0-SNAPSHOT/maven-metadata.xml

 ・・・(省略)・・・

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] OpenDJ Directory Services Project ................. SUCCESS [2.169s]
[INFO] OpenDJ Maven Plugin ............................... SUCCESS [1:02.663s]
[INFO] OpenDJ Configuration API .......................... SUCCESS [2:19.498s]
[INFO] OpenDJ Commons REST LDAP Gateway .................. SUCCESS [22.154s]
[INFO] OpenDJ Server ..................................... SUCCESS [11.103s]
[INFO] OpenDJ Server Example Plugin ...................... SUCCESS [3.262s]
[INFO] OpenDJ Legacy ..................................... SUCCESS [0.245s]
[INFO] OpenDJ ............................................ SUCCESS [5:40.961s]
[INFO] OpenDJ DSML Gateway ............................... SUCCESS [55.211s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11:11.528s
[INFO] Finished at: Sat Mar 19 22:09:15 JST 2016
[INFO] Final Memory: 76M/477M
[INFO] ------------------------------------------------------------------------

IntelliJを起動して、このディレクトリを開きます(File > Open)。

Screenshot-Open File or Project

これでIntellij上でOpenDJのソースコードの解析ができます。

Screenshot-opendj-server-parent - [~-opendj_src] - [opendj-server] - ~-opendj_src-opendj-server-src-main-java-org-forgerock-opendj-server-core-DataProviderID.java - IntelliJ IDEA 15.0.4

ユニットテストとデバッグを行うには、次の設定もした方がいいようです。

ツールバーの Run > Edit Configurations… をクリックして、 Defaults > TestNG を選択します。VM options フィールドに”-Dorg.opends.server.BuildRoot=/root/opendj_src/opendj-server-legacy”を追加して、Before LaunchのリストにあるMakeジョブを削除します。

Screenshot-Run-Debug Configurations-2

これでOpenDJの開発、デバッグ、テスト、ビルドができる環境ができました。簡単ですね。