jamesさんは1.4系でした

先週は、Geronimoさんに苦しめられてた訳だが、今週はJamesさんに好き放題やられていた。

Apache James」
http://james.terra-intl.com/index.html
※この時点では、2.3.1が最新

超簡単なMailetを作ったが、まったく動かない。
MailetExceptionが発生し自分で作成したMailetがClassNotFoundになっていた。
何か設定をミスってるのかと本まで買ってきたが解決しない。

なぜ?と悩んで居た所、設定をミスってMailetをJava 5でコンパイルしてた…orz
せめて互換オプションくらい入れろってんですよ俺。

Mailetを作ってClassNotFoundが出る場合は、
・1.4系のJDKコンパイルする
・1.4系のjarでjarファイルを作成する
に、お気を付けあれ。


なお、シンプルなMailetの場合は作るのが簡単で、GenericMailetを継承したクラスを作成すれば良い。
james.sarを一回ばらして、SAR-INF/libに作成したMailetを含むJarファイルをコピーする。
※Jarファイルの名前は何でもOKの模様
※Mailetをコンパイルする時は、このSAR-INF/libに含まれるJarを全部指定する
その後、もう一度james.sarに固めなおして既存のjames.sarに置き換えればOKだ。


james.sarに入れたMailetを利用するには、SAR-INF/config.xmlを編集する。
※app/james/SAR-INFが既にできてる場合は、そっちのconfig.xmlを編集する

とりえあず、この設定を足すと動く

〜 省略 〜
Mailetのパッケージ名
〜 省略 〜


〜 省略 〜

〜 省略 〜

相変わらず、簡単な事ほど原因調査に時間がかかります(--;