連載
» 2005年01月25日 10時00分 UPDATE

JavaTips 〜Apache/Jakarta編:Strutsベースのアプリケーション環境を用意(AppFuse)

[青木淳夫,@IT]

 Webアプリケーションの環境を構築するに当たって、一連のモジュール・ライブラリをセットアップするのは意外と手間の掛かる作業です。しかし、AppFuseを使用すれば、Antのコマンドを数回実行するだけで、Struts、Spring、Hibernate、MySQLといったさまざまなアーキテクチャが連携し合うサンプルアプリケーションをTomcatにデプロイすることができます。また、JUnit、Cactus、Javadoc、CheckStyleといったテスト、ドキュメント生成といった開発効率を向上させる環境も構築することができます。

設定方法

(1)事前準備

 AppFuseを実行するためには下記のモジュールと環境変数の設定が必要です。

表1 AppFuseの実行に必要なモジュール
バージョン 設定する環境変数 備考
J2SE1.4以降 JAVA_HOME binフォルダにPATH設定
Ant1.6.1以降 ANT_HOME binフォルダにPATH設定
Tomcat 4.1以降
(5.0.24以降推奨)
CATALINA_HOME tomcat managerのパスワードをadmin
MySQL 3.23.以降
(4.0.18以降推奨)
不要 rootのパスワードは空白

注:これらのモジュールのインストールと動作設定については「サーバサイド技術の学び舎 - WINGS」にある「サーバサイド環境構築設定」などを参照してください。なお、パスワードなどシステムの設定が備考と異なる場合はAppFuseを解凍したフォルダ直下のproperties.xml やbuild.propertiesを変更して調整してください。

(2)「AppFuse」を入手する

 AppFuseは、以下のサイトから入手することが可能です。ここでは「appfuse-1.7-src.zip」をダウンロードします。

https://appfuse.dev.java.net/servlets/ProjectDocumentList

 ダウンロードしたファイルを解凍、展開します。本稿では、C:\java\appfuseの直下にbuild.xml等を展開します。

(3)プロパティファイルの設定を行う

 AppFuseのサンプルアプリケーションにはメールを送信する機能があるため下記の設定を行います。

リスト1 メール送信に使用するSMTPサーバー・ユーザ・パスワードを設定
[C:\java\appfuse\web\WEB-INF\classes\mail.properties]
mail.host=smtp.myserver.xxx.jp
mail.user=ABC12345
mail.password=password


リスト2 エラー時にLog4Jからメールを送信するための設定
[C:\java\appfuse\build.properties]
error.mailTo=mymail@myserver.xxx.jp
error.mailHost= smtp.myserver.xxx.jp
error.server= myserver (メールのタイトルとFromアドレスに使用)


リスト3 エラー時にLog4Jからメールを送信するための設定
[C:\java\appfuse\log4.j.properties]
log4j.rootCategory=INFO, stdout, mail (mailを追加します)


(4)Antの実行に必要なファイルをAntのLibフォルダにコピーする

 C:\java\appfuse\lib\junit3.8.1の「junit.jar」をANT_HOME\libにコピーします。

(5)ローカライズ(国際化)エラーを防ぐ設定を行う

 AppFuseには日本語のプロパティファイルが用意されていないため、アプリケーションの実行中やUnitTestでエラーになることがあります。そこでC:\java\appfuse\web\WEB-INF\classesのApplicationResources_en.propertiesをコピーして、ApplicationResources_jp.propertiesというファイルを作成しておきます。

 もしくは、ブラウザの言語設定にてen(英語)を設定しておきます(インターネットエクスプローラの場合、[ツール]→[インターネットオプション]を選択し、全般タブの[言語]ボタンを選択し、日本語[ja]の上に英語(U.S)[en-us]を追加します)。

(6)アプリケーションを構築する

 コマンドプロンプトから下記のコマンドを実行します。

リスト4 実行するコマンド
C:\java\appfuse>ant setup-db ・・・(1)
C:\java\appfuse>ant test-dao -Dtestcase=UserDAO ・・・(2)
C:\Java\appfuse>ant test-service -Dtestcase=UserManager ・・・(2)
C:\Java\appfuse>ant setup-tomcat ・・・(3)
C:\Java\appfuse>ant deploy-war ・・・(4)
C:\Java\appfuse> ant test-canoo -Dtestcase=Login ・・・(5)
C:\Java\appfuse> ant test-reports ・・・(6)
C:\Java\appfuse> ant docs ・・・(7)


●各コマンドの説明

  • (1)
    appfuseというデータベースを作成し、ユーザー:test(パスワード:test)に権限を与えます。MySQLを起動した後で実行してください(MySQLの「C:\mysql\bin\mysql -h localhost -u test -p」「mysql> use appfuse;」「mysql> show tables;」「mysql> status;」といったコマンドでデータベースの内容を確認できます)
  • (2)
    DBへのアクセスコードのテストを行います
  • (3)
    MySQLのJDBCドライバを$CATALINA_HOME/common/libにコピーします。また、アプリケーションの設定ファイルであるappfuse.xmlを$CATALINA_HOME/conf/Catalina/localhostにコピーします
  • (4)
    実行モジュールをコンパイルして作成されたwarファイルを$CATALINA_HOME/webappsにコピーします。このコマンドが成功すればWebアプリケーションの設定は完了です
  • (5)
    Tomcatのテストを行います。$CATALINA_HOME/bin/startup.bat等でTomcatを起動した後で実行してください
  • (6)
    テストの結果をHTMLに出力します。出力先はbuild\test\reportsです
  • (7)
    ソースコードからAPI仕様書(Javadoc)等を出力します。出力先はbuild\test\docsです

 コマンドの実行後は、BUILD SUCCESSFULというメッセージが出力されていることを確認してください。もし、うまくいかない場合は、Buildファイルのエラー行数を確認して処理内容から原因を推測すると良いでしょう。

(7)構築されたアプリケーションを動作させる

 Tomcatが起動された状態でhttp://localhost:8080/appfuse/ にアクセスします。ユーザtomcat、パスワードtomcatでログインすれば、tomcatロールで、ユーザmraible、パスワードtomcatでログインすれば、adminロールでアプリケーションを使用できます。

実行結果 実行結果 (クリックすると拡大)

Profile

WINGSプロジェクト

青木淳夫


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。