IntelliJ の Community Edition で Servlet version 3.1 の web.xml を書くと、以下のようにエラーとなってしまう。 (Ultimate Edition ではエラーになりません)
これは 3.1 用の XML Schema ファイルが IDE に組み込まれていないから。
ファイルを自力でダウンロードして設定をするとエラーにならなくなります。
-
http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html#7 にある以下のファイルをどこかきまったディレクトリにダウンロードしておく
web-app_3_1.xsdweb-common_3_1.xsdjsp_2_3.xsdjavaee_7.xsdjavaee_web_services_client_1_4.xsd
-
Preferences の Languages & Frameworks > Schemas & DTDs の External Schemas & DTDs のボックスの下部にある「+」ボタンを押す
-
URI のテキストボックスに「http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd」と入力し、 Explorer タブを選択する
-
さきほどダウンロードした
web-app_3_1.xsdファイルをファイルブラウザから選択し、 OK を押す- ほかの4つの xsd ファイルについては明示的に指定しなくても
xsd:includeによってきちんと読み込まれているっぽい
- ほかの4つの xsd ファイルについては明示的に指定しなくても
以上で web.xml の編集でエラーにならなくなるし、補完もちゃんときくようになります。
参考文献: java - Missing schema definitions in IntelliJ - Stack Overflow
