2009年10月9日金曜日

Galileo/WTP/Tomcat/Glassfish/JBoss

久しぶりに Eclipse WTPをいじってみる。Galileoにしてから初めてかもしれない。APサーバもバージョンが上がっているから、この機会に全部最新にしてみる。

[ここ]を見ながら Snoop サーブレット作成とEclipse からのデプロイ・実行を試行してみた。以下、上手くいかなかったことその解決策をレポート。

環境
・Windows XP sp3
・eclipse Galileo (Eclipse IDE for Java Developers)英語版
・apache-tomcat-6.0.20
・jboss-5.1.0.GA
・glassfishv3
・glassfishv3-prelude

■1. WTP のインストール
[Help] > [Install New Software] でインストール
アドレスは→ http://download.eclipse.org/webtools/updates
4つのインストール項目が表示されるが、このうち
(1) Web Tools Platform (WTP) 3.1.1
(2) Project Provided Components
をチェックしておけば、とりあえず良し。(2)にはアダプタが含まれているので、チェックしておかないと後でサーバの追加ができない。


■2. プロジェクト作成とtomcat サーバの追加
WTP Tutorials を見ながら、昔ながらの Snoopサーブレットサンプルを作成。

まずは最初にServer Runtime Environment の追加。上で書いたとおりアダプタがない事に気付き追加インストールして、Tomcat の server runtime を新規作成に成功。

次に動的プロジェクトの作成。なぜか失敗。メッセージは"NullPointerException ”だけで意味不明。Project Facetsに Dynamic Web Module が選択されていない状態でプロジェクトが作成されてしまっている。作成したプロジェクトのコンテキストメニューから[Property]を開いて Dynamic Web Module にチェック。Eclipse に動的ウェブプロジェクトとして認識させて、手順どおりプロジェクトを完成させる。

ブラウザで動作確認→OK


■3. GlassFish サーバの追加
プロジェクトはそのままで、サーバだけ替えてGlassFish で動かしてみる。Tomcat と同様にServerRuntimeの追加から始めるが、必要なアイテムが見つからないといって失敗する。
どうやら、Eclipse に後から別途 WTP を追加した場合は、JST が入っていないのでプラグインの依存性が解決できずにインストールが失敗するらしい。で、JST を追加インストールして解決。→[参考]

上記問題の解決後、GlassFish v3 とGlassFish Preludeで試行し、どっちも成功。
ちなみに、GlassFish自体のインストールは、Server を新規作成するときに[Install Server]ボタンで Eclipse からインストールできる。


■4. Jboss サーバの追加
もともと入っていた Jboss 5.0beta を使いまわそうとしたが、アダプタと合わないらしく失敗。最新版の5.1GAをダウンロードして再試行してみたら上手くいった。アダプタは5.0用だったけど問題ないらしい。

サーバが立ち上がったので、ブラウザで確認しようとしたが 404 が出る。どうやらコンテキストパスが違うらしい。warのファイル名がそのまま使われているらしく、URLがhttp://localhost:8080/WTP-Tutorial-I/snoop になっている。そこでWEB-INF下にjboss-web.xmlを作成し、コンテキストパスを明示して再デプロイ。チュートリアルと同様に/tutorial/snoopで上手く実行できた。

下図は現在のサーバ群


これで、とりあえず最近のいろんなJava EE 実装の実験をする準備ができた。

0 件のコメント:

コメントを投稿