S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

WebSphere4で動いていたアプリケーションをEclipse+Tomcatで動かしてみる

Sun Java 1.6.0_03
Tomcat 6.0.18
DB2 UDB 8.2
どこかの誰かさんが、何年か前にやってたシステムの改訂が次のお仕事。
ちょっとWebSphereの環境(旧WSADの環境)を作るのが面倒なんで、Eclipse+Tomcatで動かしてみた。
とりあえず、プロジェクトをEclipse上で作って、WebSphereに依存したjarファイルの記述を削除して、代わりにTomcatのライブラリをビルドパスに追加した。

netscape.javascript.*(LiveConnect)に関するクラス群

そうすると、netscape.javascript.*(LiveConnect)に関するクラスの参照で、コンパイルエラーが出た。
これらは、WebSphereのjaws.jarに包含されてたクラスらしく、SunのJDKのplugin.jarに同等のパッケージがあるので、それをビルドパスに追加した。

COM.ibm.db2.jdbc.app.DB2DriverがClassNoFoundException

WebSphereからDB2JDBCドライバType2で、DBに接続していた。
Webコンテナのリソース参照でのDB接続も、デバッグ環境で個々に設定するは面倒なんで、既にアプリケーションに記述されてた下記のパターンで接続することにした。

Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
Connection con = DriverManager.getConnection("【URL】");
…

ところが、Class.forNameでクラスをロードするタイミングで、ClassNoFoundExceptionが発生した。
ビルドパスにdb2java.zipはあり、ちゃんとクラスとして参照できているのに…
あれこれ原因を探っていると、環境変数の設定云々という記述をみかけた。
アプリケーションではなく、Tomcatからクラスが参照できる必要があるのでは?と考え、TomcatのクラスパスにDB2のクライアント側のJARを追加してみたら、問題なく接続できた。


■参考ページ
User's Forum for DB2 Japan > EclipseとDB2の連携について