DomaをIntelliJ IDEAで動かす

これまで、ずっと、Domaを実行できるIDEEclipseだけだと思い込んでいましたが、それは間違いでした。DomaIntelliJ IDEAでも動いたんですよ、しかも、そんなにハマることもなく!

せっかくなので手順書いておきます。(IntelliJ IDEAを使うのはこれが初めてなので、設定の仕方が最適ではないかもしれません)


使ったIntelliJ IDEAのバージョンは、EAPのCommunity EditionのideaIC-123.100。


題材はDomaのQuickStart。

フォントの変更(コンソールの文字化け対策)

このページを参考にしました。
http://www.atmarkit.co.jp/fjava/rensai4/devtool09/devtool09_2.html

クラスパスの設定

プロジェクトを右クリックして開くメニューから「Open Module Settings」を選ぶとダイアログが開きます。

  • Librariesのメニューを選んでDomaとH2にクラスパスを通します。

Annotation Processorの有効化

メニューから「File」-「Settings」を選ぶとダイアログが開きます。ダイアログの左メニューから「Compiler」-「Annotation Processors」を選択します。

この画面で、次の2つをします。

  • Enable Annotation Processingのチェックボックスにチェックをつける
  • Store generated source relative to の項目で Module content root を選択

2番目の選択ですが、何の項目かよくわかっていません。こっちにしないとうまく動かなかったので。

適当なクラスに@Entityを注釈してビルドを走らせればAnnotation Processorで生成されたコードがgeneratedフォルダに出力されるはず。

ソースフォルダの設定

もう一度、プロジェクトの右クリックから「Open Module Settings」を選択してダイアログを開きます。

  • Modulesのメニューを選んでgeneratedフォルダをSource Folderとして認識させます(generatedは一度アノテーションプロセッサを動かさないと登場しない)。

プロジェクトの構成

DomaのQuickStartのページからコードをコピーしてビルドすると最終的にこんな感じのプロジェクト構成になります。


generatedフォルダにちゃんとコードが生成されていますね。
これで、Runすると、ちゃんと動きました!


一番の難関は、Annotation ProcessorでやっているSQLファイルのバリデーションなのですが、問題なく動いたということは、IntelliJ IDEAはEcipseと同じくコンパイルよりも前のフェーズでSQLファイルをクラスファイル出力先へコピーしてくれているようです。

ナイス、IntelliJ IDEA!