image

このエントリは、CloudStack Advent Calender 12/4のエントリです。

 

みなさん、CloudStack開発してますか?
まだ始めていない方には、きっとこの記事は良い導入になるかと思います。
既に始めている方は、お使いのIDEは何ですか?Eclipse?それともVim/Emacs?
Java開発で敢えてVim/Emacsをお使いの方々は、それぞれ譲れない宗教をお持ちでしょうからいいですが、 Eclipseで開発している方は、CloudStackだとm2eのエラーが出て、なんとかならないかな、とか感じていませんか?
残念ながら、Eclipseを使い続ける限り、今のところ回避策はないようです。
エラーが出続ける状態で開発を行うのは心の健康にも、また実際の開発上も他のエラーを見落とす可能性があることから良くありません。 幸い、JavaのIDEには、軽量でモダンなUIを持ちながら、十分な機能を予め備えたIntelliJ IDEAというIDEが存在します。
今回はIntelliJ IDEAでCloudStack開発を行うためのセットアップ方法を紹介します。なお、今回はWindows上での手順を解説しますが、IntelliJ IDEAはマルチプラットフォーム対応なので、適宜読み替えることでMacやLinuxでも動くかと思います。

IntelliJ IDEAとは?

IntelliJ IDEAとは、JetBrains社が開発しているIDEで、Javaを中心にRubyやPython、PHPの開発にも対応した高機能IDEです。
JetBrains社は、他に、RubyMineやPyCharmというIDEをリリースしていますが、これらは、IntelliJ IDEAからRuby開発やPython開発に関わる部分を切り出して単体IDEとしてまとめたものになります。
そして、Java開発に機能を絞ったものとしてIntelliJ IDEA Community Editionというバージョンがあり、これはOSSとして配布されています。
今回はこのCommunity Editionを使っていきます。

Javaのセットアップ

IntelliJは、Javaで記述されたIDEであり、Javaの実行環境を必要とします。また、CloudStackのコンパイルを行うときにも必要になるので、まだインストールしていない場合は、JDKをインストールしましょう。

Oracle JDKは以下のサイトからダウンロードできます。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

image

gitのセットアップ

CloudStackのソースコードは、gitで管理されています。git for windowsでgitをインストールしてしまいましょう。

http://www.git-scm.com/

image

Mavenのセットアップ

CloudStackは、ビルドシステムとしてMavenを使用しています。IntelliJはMaven連携機能がありますが、Mavenのバイナリは別に用意する必要があるので、以下のサイトからダウンロードの上、適宜展開しておきましょう。

http://maven.apache.org/

IntelliJのセットアップ

先述のとおり、IntelliJには、OSSであるCommunity Editionと、Ruby開発やPython開発、その他多くの機能強化がされたUltimate Editionがあります。とりあえずはCommunity Editionで十分かと思いますが、Ultimate Editionにはオープンソース開発者向けのライセンスもあるので、Apache CloudStackのコミッタになって、ライセンスを狙うのもありかもしれません。

image

IntelliJは以下のサイトからダウンロード出来ます。

http://www.jetbrains.com/idea/download/

image

IntelliJでCloudStackのプロジェクトの作成

image

IntelliJの初回起動時は上のようなダイアログが開きます。この中から、”Checkout from Version Control”を使用して、CloudStackをレポジトリからcloneしましょう。

Apache CloudStackのCommunityのレポジトリのURLは

https://git-wip-us.apache.org/repos/asf/cloudstack.git

になります。結構レポジトリのサイズが大きいので、多少時間が掛かっても驚かないようにしましょう。

image

なお、gitコマンドを直接使用してcloneしてきたディレクトリが既にある場合は、Import Projectオプションを使用して、プロジェクトを作成することも出来ます。

IntelliJの設定変更

Appearance

IntelliJは設定画面の”Appearance”->”Theme”の項から、IDEとしての外観を変更することが出来ます。趣味の問題ですが、個人的には”Darcula”がお勧めです。

image

Allow placement of caret after the end of line

IntelliJでは、デフォルトで、”Editor”->”Allow placement of caret after the end of line”というオプションがオンになっており、これはキャレットを行のどこにでも置いてそこから編集を始められるという機能なのですが、あまり使いどころがなく、むしろ邪魔になることが多い機能なのでオフにするのをお勧めします。なお、次のVersionではデフォルトでオフになると聞いています。

image

IntelliJへのMavenの設定

Mavenのセットアップの項でダウンロードして展開したMavenのパスをIntelliJに設定します。

IntelliJの設定で、”Maven”->”Maven home directory”か、環境変数”M2_HOME”のどちらかで設定することが出来ます。

image

プロジェクトで使用するJDKの設定

続いて、プロジェクトで使用するJDKの設定を行いましょう。”File”->”Project Structure”のメニューから、Project Structure画面を呼び出し、その中の”Project”->”Project SDK”を使用して、使用するJDKのパスをセットしてください。

image

IntelliJのMaven連携を使用したCloudStackのビルド

以上の設定によって、IntelliJでCloudStackをコンパイルする用意が出来ました。では実際に、CloudStackをMavenでビルドしてみましょう。

InteliJには右側にMavenというペインがあり、それを開くと、Mavenのプロジェクト一覧が表示されます。その中で一番上にある、CloudStackプロジェクトを選択し、”Run Maven Build”を実行すると、Mavenによるビルドが始まります。初回は、Mavenによる必要な依存パッケージのインターネットからの取得などで結構時間が掛かるかと思いますが、最終的に以下のようなメッセージが出れば、ビルド成功です。

image

 

 

…と、ここまでエントリ書いたところで、IntelliJ IDEA 13がちょうど今日リリースされました!なんというタイミングの良さ!(悪さ?)IntelliJ IDEA 12で以上説明してきましたが、多分IntelliJ IDEA 13でも同じ手順でセットアップできるかと思います。CloudStack開発を始めるうえで、参考になれば幸いです。

image

Comments :1

web page 17-07-17 19:34:50 UTC

Una beauté entre ma flèche grève hack représente qu’il non peut passing être détecté par les développeurs du technique.

Trackbacks : 2

Trackback URL for this entry
http://blog.sharplab.net/blog/2013/12/04/cloudstack%e9%96%8b%e7%99%ba%e3%81%93%e3%81%a8%e3%81%af%e3%81%98%e3%82%81-1%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%81%ae%e3%82%bb%e3%83%83%e3%83%88%e3%82%a2%e3%83%83%e3%83%97-intellij-idea-co/trackback/

Listed below are links to weblogs that reference this entry

ピンバック from CloudStack開発ことはじめ (4)結合テスト –marvinでCloudStackの結合テストを自動化してみよう– - SharpLab. 15-06-13 09:55:45 UTC

[…] 以前、「CloudStack開発ことはじめ」と題して、CloudStackの開発環境をセットアップする手順として、IntelliJ IDEAでCloudStackをビルド、デバックしたり、JenkinsでCloudStackのパッケージをビルドする手順を紹介しました(1) (2) (3)。ビルド、デバッグ、パッケージングまできたら、次のテーマはテストでしょう、ということで、今回のエントリでは、Marvinを利用した、CloudStackの結合テストの自動化について解説を行います。 […]

ピンバック from CloudStack開発ことはじめ (5)テストコード開発環境セットアップ –PyCharmでMavinのテストコード開発– - SharpLab. 15-06-13 09:56:54 UTC

[…] まずは、CloudStackの開発に使用しているIntelliJで、MavinをMavenでビルドし、パッケージを作成しましょう。(IntelliJによるCloudStackの開発環境の構築は、CloudStack開発ことはじめ (1)開発環境のセットアップ –IntelliJ IDEA Community Edit…をご覧ください。) […]