Sun Java System Application Server Platform Edition 8.2 リリースノート

空の <load-on-startup\> 要素を持つ Servlet 2.4 ベースの web.xml を使用して WAR を配備できない。(ID 6172006)

web.xml のオプションの load-on-startup サーブレット要素は、関連付けられているサーブレットを宣言する Web アプリケーションの起動の一環として、そのサーブレットをロードおよび初期化すべきことを示します。

この要素のオプションの内容は、Web アプリケーションのその他のサーブレットとの関係で、そのサーブレットをロードおよび初期化する順序を示す整数です。空の <load-on-startup\> は、そのサーブレットを含む Web アプリケーションの起動時にそのサーブレットがロードおよび初期化される場合、その順序は意味を持たないことを表します。

web.xml の Servlet 2.4 スキーマでは、空の <load-on-startup\> はサポートされなくなりました。つまり、サーブレット 2.4 ベースの web.xml を使用する場合は整数値を指定する必要があります。<load-on-startup/\> の場合と同様に、空の <load-on-startup\> を指定すると、web.xmlweb.xml のサーブレット 2.4 スキーマに対する妥当性検証に失敗するため、Web アプリケーションの配備も失敗します。

下位互換性の問題もあります。空の <load-on-startup> は、Servlet 2.3 ベースの web.xml では有効です。

解決法

Servlet 2.4 ベースの web.xml を使用する場合は、<load-on-startup\>0</load-on-startup\> を指定して、サーブレットの読み込み順序が問題にならないことを示します。