SolarisでSeasar2を動かしてみる
Seasar2の開発・運用環境には、何をお使いでしょうか?「開発にWindowsで運用にはLinux」とか、「どちらもWindows」等、いろいろだと思います。動作環境の選定の条件は様々ですが、Javaの本家本元SunのOS、Solarisも協力な選択肢の一つです。Solarisに馴染みが無い人も多いかも知れませんが、Solarisには、Sparcだけでなくx86版もありますのでLinux同様普通のPCで動作します。
ただ、OSからとなると多くの方は気軽に試してみるというわけには行かないでしょう。このページでは、出来るだけ簡単に試せるようにVMWareを使ってSolarisでSeasar2を動かしてみます。
インストール用DVDイメージのダウンロードと作成
まず、Sunのサイトからイメージをダウンロード(SDCへの登録が必要)します。SDCへの登録と英語のサイトでの入力項目が少しありますので、慣れてないとダウンロードまでたどり着けないかもしれません。でも日本語の説明がありますので、その通り進んでいけば、大丈夫です。ただ、バナーのリンクから飛ぶとSTEP1とSTEP2のページはちょっと違うので注意してください。STEP3からはそのままでOKです。
また、FAQもありますので、適宜参照してください。
今回ダウンロードしたのは、以下のファイルです。
- sol-10-u2-ga-x86-dvd.exe
- sol-10-u2-ga-x86-dvd_001.nos
- sol-10-u2-ga-x86-dvd_002.nos
- sol-10-u2-ga-x86-dvd_003.nos
前はコマンドラインで結合しないとDVDのイメージは作れなかったのに、Windowsユーザの利便性を考慮してか、exeファイルになっています。ただ圧縮率が高いのかやたら時間がかかります。「90 minutes on a P4-3GHz system」と書いてあります... ネットワークが速い環境なら、いままで通りZIPファイルを落として解凍したあと結合する方がはやいです。
できたファイルはMD5でチェックすることをお薦めします。
VMWareのゲストOS環境へのインストール
インストール手順の参考に、docs.sun.comから「Solaris 10 6/06 インストールガイド (基本編)」をダウンロードしておきます。インストールマニュアル以外にも日本語マニュアルが充実してます。
前述したように、今回はVMWareのゲストOSとしてインストールすることにしました。ちょっと試したいという場合には手軽でいいです。ISOイメージをそのままマウントできて、メディアに焼く必要がないですし。でも、それじゃ遅いし、デュアルブートしたいという方はここを参照してください。また、自分のマシンで動くか心配な人は、HCL for Solaris OSを参照してください。動いたよという報告がいっぱいのってます。
では、とりあえずインストールDVDのイメージをマウントしてブートします。GRUBが立ち上がり、以下の図1のブートメニューが表示されました。
図1. ブートメニュー
-------------------------------------------------------------------------------- Solaris Solaris Serial Console ttya Solaris Serial Console ttyb (for lx50, v60x and v65x) --------------------------------------------------------------------------------
今回はコンソールを使うわけじゃないので、「Solaris」を選択。で、インストールの種類を以下から選択。
1 Solaris Interactive 2 Custom JumpStart 3 Solaris Interactive Text (Desktop session) 4 Solaris Interactive Text (Console session) 5 Apply driver updates 6 Single user shell
対話式の「1」を選択。しばらくするとGUIの画面になって言語の選択(図2)。
図2. 言語の選択
「4」のJapaneseを選択。あとは、質問に答えてネットワークとか時間とかを設定します。インストール形式はデフォルトを選択しました(図3)。文字コードを変えた場合やインストールするパッケージを選択する場合はここでカスタムインストールを選択してください。インストールするパーティションをいじりたい場合もここでカスタムインストールです。
図3. インストール形式の選択
インストール開始
インストールする項目のサマリーが表示されるので、内容を確認して「インストール開始」を押します(図4)。
図4. インストール項目の確認
しばらくしてインストールが終わると再起動。やっとSolarisが起動しました。初回起動時は、NFSに関する質問がありますが、まぁ使わないし試すだけなのでデフォルトのままでOK(図5)です。
図5. NFSに関する質問
以上の手順は、Web上にスクリーンショット付でたくさん公開されています(*)。VMWareならマシン一台でもこういったサイトを調べながら作業できるので、その点でもお薦めです。
ということでとりあえずインストールは完了です(図6)。
図6. インストール後のようこそ!画面
Seasar2を動かしてみる
後はSeasar2を動かしてみます。これは、WindowsやLinuxと大差ないので、簡単に。
まず、Javaはさすがに既にインストール済み(1.5.0_06)なので、ちょっと古いですがそのまま使います。Seasar2(今回は2.3.12)をダウンロードしてサンプルを実行してみます。
> unzip S2.3.12.zip Archive: S2.3.12.zip ~~~~~~~~~~ 中略 ~~~~~~~~~~ > cd seasar2
面倒なのでサンプルを実行するだけのスクリプトを書きました。
> cat execute_example.csh
#!/usr/bin/csh
setenv CLASSPATH lib/aopalliance-1.0.jar
setenv CLASSPATH ${CLASSPATH}:lib/commons-logging-1.0.4.jar
setenv CLASSPATH ${CLASSPATH}:lib/geronimo-j2ee_1.4_spec-1.0.jar
setenv CLASSPATH ${CLASSPATH}:lib/geronimo-jta_1.0.1B_spec-1.0.jar
setenv CLASSPATH ${CLASSPATH}:lib/javassist-3.0.jar
setenv CLASSPATH ${CLASSPATH}:lib/junit-3.8.1.jar
setenv CLASSPATH ${CLASSPATH}:lib/log4j-1.2.8.jar
setenv CLASSPATH ${CLASSPATH}:lib/ognl-2.6.5.jar
setenv CLASSPATH ${CLASSPATH}:lib/poi-2.5.1-final-20040804.jar
setenv CLASSPATH ${CLASSPATH}:lib/s2-extension-2.3.12.jar
setenv CLASSPATH ${CLASSPATH}:lib/s2-framework-2.3.12.jar
setenv CLASSPATH ${CLASSPATH}:build/classes
echo "=================================================="
echo "サンプル GreetingMain を実行。"
echo "--------------------------------------------------"
java examples.di.main.GreetingMain
echo "--------------------------------------------------"
echo "サンプル GreetingMain2 を実行。"
echo "--------------------------------------------------"
java examples.di.main.GreetingMain2
echo "--------------------------------------------------"
echo "サンプル GreetingMain3 を実行。"
echo "--------------------------------------------------"
java examples.di.main.GreetingMain3
echo "--------------------------------------------------"
echo "サンプル GreetingMain4 を実行。"
echo "--------------------------------------------------"
java examples.di.main.GreetingMain4
echo "=================================================="
で、実行です。
> ./execute_example.csh ================================================== サンプル GreetingMain を実行。 -------------------------------------------------- Hello World! -------------------------------------------------- サンプル GreetingMain2 を実行。 -------------------------------------------------- Hello World! -------------------------------------------------- サンプル GreetingMain3 を実行。 -------------------------------------------------- DEBUG 2006-10-12 21:28:22,291 [main] BEGIN examples.di.impl.GreetingClientImpl#execute() DEBUG 2006-10-12 21:28:22,307 [main] BEGIN examples.di.impl.GreetingImpl#greet() DEBUG 2006-10-12 21:28:22,323 [main] END examples.di.impl.GreetingImpl#greet() : Hello World! Hello World! DEBUG 2006-10-12 21:28:22,338 [main] END examples.di.impl.GreetingClientImpl#execute() : null -------------------------------------------------- サンプル GreetingMain4 を実行。 -------------------------------------------------- DEBUG 2006-10-12 21:28:25,304 [main] BEGIN examples.di.impl.GreetingClientImpl#execute() DEBUG 2006-10-12 21:28:25,320 [main] BEGIN examples.di.impl.GreetingImpl#greet() DEBUG 2006-10-12 21:28:25,332 [main] END examples.di.impl.GreetingImpl#greet() : Hello World! Hello World! DEBUG 2006-10-12 21:28:25,349 [main] END examples.di.impl.GreetingClientImpl#execute() : null ==================================================
普通にいけました。
[おまけ]Seasar2を動かしてみる (CDE版)
SolarisらしくCDEでのSeasar2実行画面も(図7)。
図7. CDEでのSeasar2実行画面
おわりに
今回はSolarisをインストールして、Seasar2を動かしてみました。WindowsやLinux同様に何の問題も無く動作しました。Solarisは、Linuxに比べて敷居が高く感じるかも知れませんが、インストーラは使いやすいですし、日本語のドキュメントも充実しているので、気軽に試すことができると思います。動作環境選定の選択肢としてぜひ試してみてください。
