Logic Delight

明日のワシは忘れてしまうから、コードにはコメントを書くのです。

WebLogic Server でJavaMailを使う

とは言っても、今回は別途JavaMailを用いたコンポーネントを作成し、それを WebLogic Server 上で動作させようとすると、何故だかWebLogic同梱の javax.mail パッケージが参照されてしまい・・・という問題の回避策。今日はコレでとことんハマりました。

要は、CLASS_PATHの weblogic.jar より先に、使用したい mail.jar のパスを通せば、そっちを参照してくれるってだけのことなのですが、なんだかなー・・・って感じです。

以下、具体的な対応例です。

WebLogicにJavaMailが同梱されているため、自作モジュールが利用しようとしているJavaMailと競合が起こる。というか、WebLogic側の古いバージョンのJavaMailがなぜか採用される。ひでー話。
weblogic.jarより先に、アプリのmail.jarへCLASS_PATHを通すことにより対応が可能。

<修正対象のファイル>
C:\bea\user_projects\domains\myWebApp\bin\setDomainEnv.cmd

<修正内容>
@REM set PRE_CLASSPATH=
set PRE_CLASSPATH=%DOMAIN_HOME%\lib\mail.jar

<参考URL>
WebLogic Server での JavaMail のプログラミング

プログラミング トピック