FlexのClassLoader
現在いろいろ調査中なんですが、問題発生!
Flexは独自のClassLoaderを持っています。
たぶんこいつのせいで、XML Parserがらみの問題が発生します。
Flex関連のjarファイルは
WEB-INF/flex/lib
という、通常のjarファイル置き場とは異なる場所にあります。
その中に
- xercesImpl.jar
- xercesPatch.jar
- xmlParserAPIs.jar
が入っています。
この状態で
SAXParserFactory.newInstance()
の時にClassCastExceptionが発生します。
しょうがないので、上記3つのjarファイルをいったん削除し、xercesImpl.jarとxercesPatch.jarを
WEB-INF/lib
に入れた所、問題なく動作しました。
(実行環境はOSX 10.2 (Java version 1.4.1_01)、Tomcat 5.0.28)
・・・んー。どうしよう・・あまり特殊な事はしたくないなぁ・・・
Cayenneを使用する場合、設定ファイルはXMLファイルになります。
このXMLをCayenneに読ませる時に、上記例外が飛んでしまいます。
今回のデータ永続化の実装は、前回に引き続きCayenneにやらせようかと思っていたのですが、ステートレスなアプリケーションにはあまりフィットしない事が前回解りましたので、今回は使用をやめようかなぁ・・・でも、前回作ったコードがあるしなぁ・・