[Seasar-user:8736] Re: Churaで作成したアプリをJBossサーバーにデプロイする。
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 6月 27日 (水) 21:00:48 JST
小林 (koichik) です.
Date: Wed, 27 Jun 2007 20:30:12 +0900
From: Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:8735] Re: Churaで作成したアプリをJBossサーバーにデプロイする。
> xmlParserAPIs-2.6.2.jar に含まれているクラスは
> rt.jar に入っていてブートストラップクラスローダに
> ロードされるはずなので,xmlParserAPIs-2.6.2.jar の
> クラスがロードされることはないはず.
> でもでも,もしそうなら Java5 の SAXParserFactory には
> setXIncludeAware(boolean) メソッドがあるので
> http://apache.org/xml/features/xinclude フィーチャを
> 設定しには行かないはずなのですが...
> この辺,謎だなぁ.
JAXP 1.3 に対応していない Xerces 2.6.2 で
SAXParserFactory#setXIncludeAware(boolean) を
呼び出すと UnsupportedOperationException が
スローされてたようです.
そうすると,その例外を無視して
http://apache.org/xml/features/xinclude フィーチャを
設定しに行くのですが,SAXParserFactory#setFuture() の
仕様ではサポートしてないフィーチャの場合,その時点で
例外がスローされることになっていて,その場合は
例外を無視するだけなのですが,Xerces 2.6.2 はその時点では
例外をスローせず,ずっと後の SAXParserFactory#newSAXParser() で
例外がスローされるので,今回の現象になるわけですね.
Teeda や S2JSF,Mayaa,それに Tomcat 5.0 を使った場合や
Tomcto 5.5 を J2SE1.4 で使う場合など,Xerces 2.6.2 は
広く使われているので,それで問題が生じるフィーチャを
設定するのはやめることにしようと思います.
J2SE1.4 と Xerces 2.7 以降との組み合わせでも XInclude が
使えなくなってしまいますが,そういう組み合わせで使うことは
まれだろうということで...
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内