1.21.2013

Installing HBase 0.94.4 on Linux

Linux 上での HBase のインストール

Mac 上の VirtualBox で立てた CentOS 6.3 ノードに NOSQL(Not Only SQL) である
HBase 0.94.4 をインストールしてみた。

ちなみに CentOS は Basic Server として構築しただけの状態。

 

1. 事前作業

 

1.1 JDK の準備

HBase を起動するには JDK6 以上が必須なので正しくインストールされていることを確認する。

$ java -version

 

1.2 hosts の設定

自分自身のホスト名を名前解決できない場合、UnknownUserException となって HBase の起動に失敗する。
DNS、hosts などの設定を行い、名前が引ける状態とする。

# vi /etc/hosts
$ ping `hostname`

 

1.3 専用ユーザの作成

これは任意であるが、専用のOSユーザ(hadoop と命名)を作成した。
HBase のインストール予定地(/opt/db)をホームディレクトリに設定したが、
これはあまり良くない設計かもしれない。

xxx は任意の空き番号。同名のグループも新規作成した。

# groupadd -g xxx hadoop
# useradd -d /opt/db -m -g hadoop -u xxx hadoop
# passwd hadoop
# su - hadoop
$ id
$ pwd

 

1.4 環境変数 JAVA_HOME の設定

とりあえず作成したユーザの rc ファイルに記述。

$ vi ./.bashrc
(追記内容)
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
$ source ./.bashrc

 

1.5 ファイアウォールの設定

外部から接続する必要があり、Linuxのファイアウォールが有効になっている場合は許可設定が必要。

ひとまず 60010番ポートを解放。
x.x.x.x/xx は接続を許可するクライアントのネットワークアドレスとサブネットマスクのビット長のペア。

再起動しても設定が保持されていることを確認する。

# /sbin/iptables -L
# /sbin/iptables -I INPUT -p tcp --dport 60010 -s x.x.x.x/xx -j ACCEPT
# /sbin/iptables -L
# /etc/init.d/iptables save
# /sbin/service iptables restart
# /sbin/iptables -L

 

2. HBase のインストール

 

2.1 ダウンロードURLの確認

Apache HBase の公式サイトへアクセスし、バージョンおよびダウンロード先(ミラー)のURLを確認する。

HBase - Apache HBase™ Home

 

2.2 モジュールの入手と展開

以下は JAIST から HBase 0.94.4 をダウンロードする例。

$ cd /opt/db
$ wget http://ftp.jaist.ac.jp/pub/apache/hbase/hbase-0.94.4/hbase-0.94.4.tar.gz
$ tar -zxvf hbase-0.94.4.tar.gz

 

3. HBase の起動と停止

 

3.1 HBase の起動
$ /opt/db/hbase-0.94.4/bin/start-hbase.sh

 

3.2 動作確認

適当なクライアントからブラウザで http://(対象ノード):60010/ へ接続し、HBase の管理画面が表示されたらOK。 

 

3.3 HBase の停止
$ /opt/db/hbase-0.94.4/bin/stop-hbase.sh

 

 

References

HBaseを触ってみよう (4/5):CodeZine

 

1.18.2013

Sending an email with Lotus Notes Using JavaScript

JavaScriptでNotesメールを送信する

(Windows環境から)JavaScript(JScript)でNotesコンポーネントを利用するには、
COM(Lotus.NotesSession)またはOLE(Notes.NotesSession)を使えばよい。

以下はOLEでの実装例。
GUIで認証された後のアクティブなセッションを利用する。
(宛先、タイトル、本文は適宜置換のこと)

 

実行条件
  • 実行元に Lotus Notes がインストールされており、適切なユーザで使用できること
 
 
コード
var sendMail = function(sendTo, subject, body) {
  // Create OLE object.
  var notesSession = new ActiveXObject('Notes.NotesSession');
  var notesDatabase = notesSession.GetDatabase('', '');
  if (! notesDatabase.IsOpen) noetsDatabase.OpenMail();

  // Create a message.
  var mailItem = notesDatabase.CreateDocument();
  mailItem.SendTo = sendTo;
  mailItem.Subject = subject;
  mailItem.Body = body;
  mailItem.SaveMessageOnSend = false;

  // Send a message.
  mailItem.Send(false);
};

sendMail(宛先, タイトル, 本文);

 

 

References

Invoking Lotus Notes by JavaScript code (HTML, CSS and JavaScript forum at JavaRanch)

 

1.14.2013

How to Set up Realforce US Keyboard in MacOS X

英語ASCII仕様の Realforce キーボードをMacで使うための設定

日本が誇るハイエンドキーボード Realforce(東プレ) のUS配列のモデルを Mac で快適に使用するためのメモ。

 

使用環境

 

今回実現したいこと
  • Windowsキー(Command) と Altキー(Option) の機能を入れ替える
  • 左Altキー・右Altキーの空打ちで、それぞれ英数キー・かなキーの入力とする
  • アプリケーションキー(右Ctrlの左隣のキー)をアンダースコア(_)に割り当てる <= 新感覚!
  • Pause/Breakキーを電源ボタンに割り当てる
  • Ctrl + C・Ctrl + V でコピー・ペーストができるようにする
  • Home/Endキーで行頭/行末への移動を実現する

 

1. ソフトウェアのインストール

上記のURLから KeyRemap4MacBook、PCKeyboardHack の最新版をインストールする。

 

2. Keyboard の設定

まずは KeyRemap4MacBook ではなく、標準のキーボード設定で Command と Option の機能を入れ替える。

  • System Preferences -> Keyboard -> Modifier Keys…
    • Select keyboard: Realforce を選択
    • Option Key: Command へ変更
    • Command Key: Option へ変更

 

3. KeyRemap4MacBook の設定

KeyRemap4MacBookの設定画面から、以下の設定を行う。 

  • System Preferences -> Other -> KeyRemap4MacBook
    • Change Key
      • For PC Users
        • Change PC Application Key
          • Application Key to Underscore(Shift_L+MInus): ON
        • Change PC PrintScreen Key, ScrollLock Key, Pause/Break Key
          • Pause/Break Key to Power: ON
        • Use PC Style Home/End (except in Virtual Machine,RDC)
          (Change Home to Control+A)
          (Change End to Control+E) : ON
        • Use PC Style Copy/Paste
          (Control+C to Command_L+C)
          (Control+V to Command_L+V)
          (Control+X to Command_L+X) 
          (Except in Terminal, VM, RDC, Emacs, X11, Eclipse): ON
      • For Japanese
        • 左右のコマンドキーを「英数/かな」としても使う
          (左コマンドキーを英数キーにする) 
          (右コマンドキーをかなキーにする)
          • 英数/かなキーの動作を優先モード
            (基本的に英数/かなキーとして動作させる)
            (コマンドキーとして動作させるにはコマンドキーを長押しする) 
            (長押しの時間は Key Repeat タブの [Holding Key to Key] Holding Threshold で指定します) : ON

 

実に簡単にできた。つくづく KeyRemap4MacBook 完成度の高さは驚異的だと思う。

これで Mac のキーボード周りが捗るはず。

 

 

Related Posts

mog project: Installing KeyRemap4MacBook

 

1.13.2013

Sharing a Personal Eclipse Project with Dropbox + Git [Updated]

Dropbox + Git を使って個人用の Eclipse プロジェクトを共有する

以前のエントリ
mog project: Sharing a Personal Eclipse Project with Dropbox + Git 
の手順を更新。

EGitに頼り切るのではなく、部分的にgitコマンドを活用するほうが簡単なことに気づいた。

 

前提条件

使用する複数のマシン全てで以下がインストールされていること 

  • Dropbox
  • Git
  • Eclipse
  • Eclipse プラグイン EGit
 
凡例

以下、適宜読み替えを行うこと

path_to_dropbox -> Dropbox ディレクトリへのパス
path_to_workspace -> Eclipse のワークスペースのパス 
project_name -> プロジェクトの名前

 

1. 共有リポジトリの作成

最初に、複数のマシンから共有するため空リポジトリを Dropbox 上に作成する。
1つのリポジトリで複数の Eclipse プロジェクトを管理することも可能だが、今回は 1対1 の構成とする。

 

ベアリポジトリ作成

共有するのはベアリポジトリ(作業ファイルを持たないリポジトリ)とする。

以下は、Dropbox 配下の proj ディレクトリ配下に、共有リポジトリを配置する例。
ディレクトリの名前は、末尾に .git を付けるのが通例とのこと。 

$ cd path_to_dropbox/proj
$ mkdir project_name.git
$ cd project_name.git
$ git init --bare --shared

 

2. ローカルリポジトリの作成

元となるプロジェクトを作成し、共有リポジトリへアップロードする。

 

Eclipse プロジェクト作成

まずは通常と同じ手順でローカル(Dropbox以外の場所)にプロジェクトを新規作成する。

プロジェクトのパスは path_to_workspace/project_name とする。

 

ローカルリポジトリ作成

Eclipse プロジェクトのコンテキストメニューから、Team -> Share Project… を実行。

  • Share Project: Git を選択
  • Configure Git Repository
    • Use or create repository in parent folder of project: チェックを付ける
    • Create Repository ボタンを押下
    • 対象プロジェクトがチェック状態となったことを確認し finish

 

.gitignore ファイル作成

プロジェクトパス直下に「.gitignore」というファイルを作成し、管理対象外とする資源を定義する。

Eclipse のパッケージエクスプローラではデフォルトでは .* ファイルは表示されないので
まずは表示の設定を変える。 

  • パッケージエクスプローラのウィンドウ右上の下向き三角を押下し、Customize View… を選択。
     workspace
  • .* resources のチェックを外す

プロジェクトのコンテキストメニューからNew -> File で「.gitignore」を作成。

以下は Python プロジェクトの一例。

「.project」を管理対象とするかどうかは適宜判断要。
OSが異なると、同じプロジェクト設定では正しく動作しない可能性がある。 

# OS files
.DS_Store
*~
 
# Eclipse files
.project
.pydevproject
.settings/

# Python objects
*.py[cod]

 

アップストリームの設定

ローカルリポジトリに、上流のリポジトリを定義する。

ここは EGit ではなくコマンドで実行した方が早い。
Dropbox 上の共有リポジトリを origin という名前で登録。

 

$ cd path_to_workspace/project_name
$ git remote add origin path_to_dropbox/proj/project_name.git
$ git remote -v

最後のコマンドは確認のコマンド。このように表示されれば問題ない。

origin path_to_dropbox/proj/project_name.git (fetch)
origin path_to_dropbox/proj/project_name.git (push)

 

コミットと共有リポジトリへのプッシュ

Eclipse に戻り、プロジェクトのコンテキストメニューから Team -> Commit… を選択。

  • Commit Changes to Git Repositor
    • Commit messages: 適切なメッセージを記入 (未記入はNG)
    • Files: 全て選択 (管理対象外にしたいファイルが含まれていた場合は .gitignore を見直す)
    • Push: Push the changes to upstream のチェックを付ける (Eclipse のバージョンによって存在しない場合がある?)
  • Pushed to project_name - origin
    • OK を選択すれば、上流である共有リポジトリへのプッシュが行われる。
上流へのプッシュが行われなかった場合は、Team -> Push to Upstream で同じウィザードが出現する。

 

 

3. 別のマシンで共有リポジトリを利用

プロジェクト作成元と別のマシンで同じプロジェクトを使用するための方法。

 

クローンリポジトリの作成

作業をしたいマシンで Eclipse を起動し、Window -> Show View -> Other… を選択。
Git -> Git Repositories を選択する。 

Git Repositories ウィンドウで、右上のアイコンから
「Clone a Git Repository and add the clone to this view」(左から4番目?)を押下。 
workspace

  • Select Git Repository
    • Location URI: path_to_dropbox/proj/project_name.git を選択
    • Connection Protocol: file
  • Branch Selection: master を選択
  • Local Destination
    • Destination Directory: path_to_workspace/project_name
    • Destination Initial branch: master
    • Configuration Remote name: origin
    • Import all existing projects after clone finishes: チェックしない
 
 
プロジェクトのインポート

Eclipse メニューの FIle -> Import… から以下の手順を行う。

.project ファイルを .gitignore に含めた場合は直接プロジェクトをインポートすることはできない。
一旦一般プロジェクトとして読み込んだ後、プロジェクトの変換を行う。 

  • Select: Git -> Projects from Git
    • Select Repository Source: Local
    • Select a Git Repository: project_name - path_to_workspace/project_name
    • Select a wizard to use for importing projects: Import as general project
    • Import Projects Project name: project_name
      • Use the New Projects wizard を選択 (*1)
      • Select a wizard: 適切なウィザードを選択
      • プロジェクト新規作成ウィザードを実行
    • Select a wizard: プロジェクトに応じて適宜設定

プロジェクト種類の変換手順はプラグインなどによって異なっているようだ。
PyDev の場合は、コンテキストメニューから PyDev -> Set as PyDev Project で変換できた。

これで、晴れてプロジェクトを Dropbox を使って複数のマシンで共有することができるようになった。

 

 

補足. github へのアップロード

作成したプロジェクトを github へアップロードして公開する場合の手順。

 

SSH公開キーの登録

そのマシンで初めて github に接続する場合のみ実行。
手順はgithub公式ヘルプを参照。

Generating SSH Keys · github:help 

 

github 上のリポジトリ作成

これは github のWeb画面から実行する必要があるようだ。
Create a new repo アイコンを押下し、リポジトリ名などを登録する。 

 

github へプッシュ

ローカルリポジトリの remote の定義として github を追加する場合の例。
以下のコマンドを実行。($USER$ は github アカウントに書き換え)

$ cd path_to_workspace/project_name
$ git remote add github https://github.com/$USER$/project_name.git
$ git push -u github master

 

 

 

Related Posts

mog project: Sharing a Personal Eclipse Project with Dropbox + Git

 

1.05.2013

Python: Using Rotating Logger

Python: ローテーション機能付きロガーの使用

Pythonでは logging モジュールにおいて、ローテーション機能付きの便利なロガーが標準で用意されている。 
(あやうく車輪の再発明をするところだった。)

ログサイズの上限を 1MB とし、バックアップを 1世代だけ残す場合には以下のようなコードを書けばよい。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import logging.handlers

# ファイルパス設定
SCRIPT_DIR = os.path.dirname(__file__)
SCRIPT_BASE_NAME = os.path.basename(__file__)
LOG_FILE = SCRIPT_DIR + '/' + SCRIPT_BASE_NAME + '.log'

# ログ設定
LOG_BACKUP_COUNT = 1  # バックアップ保持数
LOG_MAX_BYTES = 1 * (1024 ** 2)  # 洗い替えサイズ(byte)

def main():
    # ロガーオブジェクトの作成
    logger = logging.getLogger(SCRIPT_BASE_NAME)

    # ログレベルの設定
    logger.setLevel(logging.DEBUG)

    # ハンドラの設定
    handler = logging.handlers.RotatingFileHandler(
        filename=LOG_FILE, maxBytes=LOG_MAX_BYTES, backupCount=LOG_BACKUP_COUNT)

    # ログフォーマットの設定
    formatter = logging.Formatter(
        '[%(asctime)s] %(name)s %(levelname)s %(message)s')
    handler.setFormatter(formatter)

    # ロガーにハンドラを登録
    logger.addHandler(handler)

    # ログ出力テスト
    logger.debug('debug message')
    logger.info('info message')
    logger.warn('warn message')
    logger.error('error message')
    logger.critical('critical message')

if __name__ == '__main__':
    main()

 

このプログラムを実行すると、実行ファイルと同じ場所に logging_example.py.log というファイルが作成され、
次のような内容が記録されるはずだ。

[2013-01-05 13:55:38,211] logging_example.py DEBUG debug message
[2013-01-05 13:55:38,211] logging_example.py INFO info message
[2013-01-05 13:55:38,211] logging_example.py WARNING warn message
[2013-01-05 13:55:38,211] logging_example.py ERROR error message
[2013-01-05 13:55:38,211] logging_example.py CRITICAL critical message

 

ファイルサイズが 1MB に到達すると、自動的にログが洗い替えされ
古いログは logging_example.py.log.1 という名前でバックアップされる。 

 

References

logging – ステータス、エラー、その他の情報をログ出力する - Python Module of the Week
http://www.doughellmann.com/PyMOTW-ja/logging/

15.7. logging — Logging facility for Python — Python v2.7.3 documentation
http://docs.python.org/2/library/logging.html

1.04.2013

CentOS 6 Requires PAE Support

CentOS 6: PAEサポートの無い32ビットCPU環境でインストールできない

CentOS 6.x などの新しめのLinuxディストリビューションでは、32ビットの Intel/AMD CPUにおいては
PAE (Physical Address Extension) のサポートが動作要件となっている。

そのため、Pentium M などが搭載された古いノートPCにはインストールすることができない。

Manuals/ReleaseNotes/CentOS6.3 - CentOS Wiki
http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.3

Bug 589332 – Unable to install RHEL6 beta on Thinkpad R50p
https://bugzilla.redhat.com/show_bug.cgi?id=589332

1.03.2013

Generate Documentation for JavaScript

JavaScript のドキュメントを自動生成する

JavaDoc とよく似たシンタックスで、JavaScript のドキュメントを生成できる jsdoc-toolkit というツールがある。

Google のスタイルガイドに従って JSDoc 形式でコメントを記述すれば、より開発効率が向上するはずだ。
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=JavaScript_Types#Comments

 

1. コメントの記述

ポイントとなる部分だけ以下に紹介する。

ファイルレベルのコメント
  • 主な JSDoc タグ
    • @fileoverfiew 説明文
    • @author メールアドレス (名 姓)

説明文は複数行にまたがっても、インデントしない。

例)

/**
 * @fileoverview ファイルレベルのコメントをここに書く。
 * JSDocのサンプル。
 *
 * @author example@example.com (Mog Project)
 */

クラスへのコメント
  • 主な JSDoc タグ
    • @param {型} コンストラクタ引数(仮引数)の名前 説明文
    • @constructor

コンストラクタ引数を取る場合は @param を引数の個数分作成する。
また、コンストラクタであることを明示するため @constructor を付ける。

型の表記については Google スタイルガイドを参照。
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=JavaScript_Types#JavaScript_Types

例)

/**
 * JSDocサンプル用クラス
 *
 * @param {string} id タグの識別名
 * @param {string} description タグの説明
 * @constructor
 
 */
var JSDocSample = function(id, description) {
  /* ... */
};

 

メソッド・関数へのコメント
  • 主な JSDoc タグ
    • @param {型} 仮引数の名前 説明文
    • @return {型} 説明文
    • @private

処理の概要、パラメータ、戻り値の説明を書く。

説明文が長くなった場合(1行80文字以内に収まらない場合)は、次の行は半角スペース4文字でインデントする。
プライベートなメソッド・プロパティ名には @private を付ける。
説明文においては、JavaDoc 同様、いくつかのHTMLタグがサポートされる。

例)

/**
 * メッセージを補完して返す。
 *
 * @param {string} msg 補完するメッセージ
 * @return {string} このように説明が長~~~~~~~~~くなった場合は、
 *    スペース4文字でインデントして続ける。
 */
JSDocSample.prototype.getInfo = function(msg) {
  var s = this.decorate_(['*', msg, '*']);
  return this.id + '(' + this.description + '): ' + s;
};

/**
 * 文字列を装飾する。
 *
 * @param {Array.<string>} arr 対象文字列の配列
 * @return {string} 装飾後の文字列
 *     <ul>
 *     <li>こんな風に
 *     <li>HTMLタグも
 *     <li>使用可能
 *     </ul>
 * @private
 */
JSDocSample.prototype.decorate_ = function(arr) {
  return arr.join('+');
};

 

プロパティへのコメント
  • 主な JSDoc タグ
    • @type{型}

プロパティの説明と型を記述する。

例)

  /**
   * ID情報
   * @type {string}
   */
  this.id = id;
  /**
   * 説明テキスト
   * @type {string}
   */
  this.description = description;

 

2. ドキュメントの出力

 

Java 実行環境の準備

JRE 6以上を推奨。

 

jsdoc-toolkit  のインストール

こちらのサイトからツールをダウンロード。
jsdoc-toolkit - A documentation generator for JavaScript. - Google Project Hosting
http://code.google.com/p/jsdoc-toolkit/

ファイルを解凍し、適当なディレクトリ配下に配備。

 

ドキュメント生成

jsdoc-toolkit のインストール先ディレクトリへ移動後、
「java –jar jsrun.jar app/run.js」 のパラメータに以下を指定して実行。

  • JavaScript ソース格納ディレクトリ
  • -t    テンプレートディレクトリ ※必須
  • -d    ドキュメント出力先ディレクトリ
  • -e    文字コード指定 (デフォルトはUTF-8) ※例) -e=shift-jis
  • -r    対象のソースを探索する深さを指定
  • -a    コメントのないメソッド・関数も出力
  • -p    @private 指定の定義も出力

実行例

java -jar jsrun.jar app\run.js (ソース格納ディレクトリ) -t=templates\jsdoc -d=(ドキュメント出力先ディレクトリ) -a -p

ドキュメント出力例
image

 

3. テンプレートの変更

ドキュメント生成時に異なるテンプレートを指定することで、ルックアンドフィールを自由に変えることができる。
サンプルを一つ紹介する。

Jsdoc2-template-bootstrap

Twitter bootstrap ベースのスタイリッシュなテンプレート。

  • テンプレート一式をダウンロード
    http://orgachem.github.com/JsDoc2-Template-Bootstrap/index_jp.html
  • 解凍し、jsdoc-toolkit\templates 配下に配備
    例) jsdoc-toolkit\templates\JsDoc2-Template-Bootstrap
  • ドキュメント生成コマンドにて、テンプレート指定 (-t) のパスを変更
    例) -t=templates\JsDoc2-Template-Bootstrap

ドキュメント出力例
image

 

References

Google JavaScript スタイルガイド - 日本語訳 - JSDocコメント
http://www38.atwiki.jp/aias-jsstyleguide2/pages/14.html

JsDoc Toolkitを使ってJavaScriptのAPI仕様書を作る(環境構築から出力まで) | クラスメソッド開発ブログ
http://dev.classmethod.jp/etc/jsdoc-toolkit-compile/

JsDoc Toolkitによる開発効率向上を目指して - @IT
http://www.atmarkit.co.jp/fcoding/articles/jsdoc/01/jsdoca.html

Play Framework with IntelliJ IDEA

IntelliJ IDEA で Play Framework の開発を行う 

IntelliJ IDEA 12 Ultimate Edition (有償) を持っているのであれば、プラグイン「Play 2.0 Support」を
導入することでシームレスな Play 開発が可能となる。 

Getting Started with Play 2.0 in IntelliJ IDEA 12
http://blogs.jetbrains.com/idea/2012/12/getting-started-with-play-20-in-intellij-idea-12/

チュートリアル
http://confluence.jetbrains.com/display/IntelliJIDEA/Play+Framework+2.0 

 

以下は、IDEA 12 Community Edition でプラグインを利用しない場合の手順メモである。

 

1. Play プロジェクトの作成

  • まずは、外部のコンソール(ターミナルなど)を使って Play のプロジェクトを新規作成する。

実行例

/proj% play new hello-play
       _            _
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/
             
play! 2.0.2, http://www.playframework.org

The new application will be created in /proj/hello-play

What is the application name?
> hello-play

Which template do you want to use for this new application?

  1 - Create a simple Scala application
  2 - Create a simple Java application
  3 - Create an empty project

> 1

OK, application hello-play is created.

Have fun!

 

  • プロジェクトディレクトリへ移動し、「play idea」コマンドを実行

IntelliJ IDEA 用の設定ファイルが生成される。

実行例

/proj% cd hello-play/
README  app     conf    project public
/proj/hello-play% play idea
[info] Loading project definition from /proj/hello-play/project
[info] Set current project to hello-play (in build file:/proj/hello-play/)
[info] Trying to create an Idea module hello-play
[info] Updating {file:/proj/hello-play/}hello-play...
[info] Done updating.
[info] Excluding folder target
[info] Created /proj/hello-play/.idea/IdeaProject.iml
[info] Created /proj/hello-play/.idea
[info] Excluding folder /proj/hello-play/target/scala-2.9.1/cache
[info] Excluding folder /proj/hello-play/target/streams
[info] Created /proj/hello-play/.idea_modules/hello-play.iml
[info] Created /proj/hello-play/.idea_modules/hello-play-build.iml

 

2. IntelliJ IDEA でモジュールをインポート

  • IntelliJ IDEA 12 を起動
  • 必要に応じて空のプロジェクトを新規作成
  • メニューから File -> Import Module… を選択
  • Play のプロジェクトディレクトリを選択
  • Create module from existing sources を選択し Next を押下
     Import Module 3
  • そのまま Next を押下
    Import Module
     
  • そのまま Next を押下
     Import Module
  • そのまま Next を押下
     Import Module
  • Finish を押下
     Import Module
これで、IDEA上でソースの編集ができるようになった。

 

3. 動作確認

 コンソールから「play run」コマンドを実行すれば Web サービスが立ち上がり、9000番ポートがリッスン状態となる。

/proj/hello-play% play run
[info] Loading project definition from /proj/hello-play/project
[info] Set current project to hello-play (in build file:/proj/hello-play/)

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on port 9000...

(Server started, use Ctrl+D to stop and go back to the console...)

この状態でブラウザを開き、「http://localhost:9000/」へ接続すれば動作を確認できるはずだ。

コンソール上で Ctrl+D を入力すればプロセスは停止する。

 

References

Setting Up Play Framework Apps in IntelliJ IDEA
http://www.jamesward.com/2011/10/24/setting-up-play-framework-apps-in-intellij-idea

Play! Japan ドキュメント
http://playdocja.appspot.com/documentation/2.0.4/IDE