配備時に、web.xml に対して Element type "filter" must be declared. というエラーが出力されます。原因および対処法を教えてください。
Error loading deployment descriptors for xxx Line xxx Column xx -- archive xxx in deployment descriptor file WEB-INF/web.xml Element type "filter" must be declared.
web.xml の記述が DTD に従っていません。
filter 要素は、Servlet 2.3 で追加されました。そのため Servlet 2.2 用の DTD を指定している場合、filter 要素を含んでいるとエラーになります。
Servlet 2.3 を使用するのであれば、web.xml に下記の DTD 指定を記述してください。
- Servlet 2.3 用 DTD 指定
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "
http://java.sun.com/dtd/web-app_2_3.dtd">
注意: DTD, XML Schema の内容は Web アプリケーションのバージョンによります。利用している Web アプリケーションに対応するバージョンの DTD, XML Schema を参照してください。
【対象製品】Application Server
【確認済みのバージョン】すべて
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】配備
【カテゴリー】トラブルシューティング