Vert.x の使い方 - Windows 環境でソースからビルドする方法
Vert.x を Windows 上でソースビルドして実行環境を構築する手順をご紹介します。
ちなみに、わざわざソースからビルドしなくても https://github.com/purplefox/vert.x/downloads からパッケージ(例 vert.x-1.0.final.tar.gz)をダウンロードして解凍すれば簡単に使えます。
Vert.x は Node.js ライクな JVM 用のフレームワークで、JavaScript・Ruby・Groovy・Java でアプリケーションを作成することができます。(Scala 無いのが残念)
Node.js + CoffeeScript もなかなか良いのですが、プログラム言語的に物足りなく感じており、他の言語で同様の事をしたいと思っていたので (関数言語に近い方が効果的な気がしています) 、個人的に Vert.x は注目しています。
サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20120513/
インストール手順(ソースからのビルド)
まずは、github からソースを取得します。
git clone git://github.com/purplefox/vert.x.git
次に、build.xml ファイルを編集して Windows 上でビルドできるようにします。
5/13 時点の build.xml は Windows 上でのビルドを考慮していないようですので、以下のような編集が必要でした。
- yardoc の実行を止める(dist の depends から yardoc を外す)
- cp コマンドの実行を変更
yardoc(Ruby 用の API ドキュメント生成)に関しては、ネイティブコードを伴ったモジュールの gem install が必要となり面倒そうだったので今回は実行しない事にしました。
build.xml の編集例
・・・ <!-- <target name="dist" depends="groovydoc,javadoc,yardoc,jar-core,jar-platform,jar-test-framework,compile-java-mods"> --> <target name="dist" depends="groovydoc,javadoc,jar-core,jar-platform,jar-test-framework,compile-java-mods"> <mkdir dir="${dist-build}"/> ・・・ <!-- <exec executable="cp"> <arg value="src/scripts/vertx"/> <arg value="${dist-build}/bin/vertx"/> </exec> <exec executable="cp"> <arg value="src/scripts/vertx.bat"/> <arg value="${dist-build}/bin/vertx.bat"/> </exec> --> <!-- Windows 上で実行するだけなら vertx.bat があればよいので vertx は別にコピーしなくてもよい --> <copy file="src/scripts/vertx" todir="${dist-build}/bin" /> <copy file="src/scripts/vertx.bat" todir="${dist-build}/bin" /> ・・・
ビルド
ant dist
ビルドが成功すると target/vert.x-1.0.final.tar.gz が作成されますので*1、適当なディレクトリに解凍して環境変数 VERTX_HOME にそのパスを設定しておきます。
VERTX_HOME 環境変数の設定例
set VERTX_HOME=C:\vert.x-1.0.final set PATH=%VERTX_HOME%\bin;%PATH%
動作確認
それでは、単純な HTTP サーバーのサンプルアプリケーションを Groovy で記述して実行してみます。
8080 ポートで hello を返すだけの HTTP サーバーは以下のようになります。
sample_server.groovy
vertx.createHttpServer().requestHandler {req -> req.response.end "hello" }.listen 8080
vertx コマンドに run <スクリプト名> *2 を与えてアプリケーションを実行します。
実行
vertx run sample_server.groovy
Web ブラウザで http://localhost:8080/ にアクセスすると hello が表示され、動作確認できると思います。