4

web.xml

我可以使用基于注释的 url 映射从 IDEA 部署我的 Web 应用程序而不会出现问题,那么为什么 IDEA 仍然在此处突出显示标记为违反模式定义?

(使用 IDEA 12.1.4、Tomcat 7)

4

1 回答 1

5

IDEA 正在根据架构验证您的 XML,并且正确地说Element metadata-complete is not allowed here

如果您查看架构web-app_3.0.xsd,您会看到它导入了web-commmon_3.0.xsd. 并且此web-common架构已定义metadata-completeweb-common-attributes.

<xsd:attributeGroup name="web-common-attributes">
  <xsd:attribute name="version"
                 type="javaee:web-app-versionType"
                 use="required"/>
  <xsd:attribute name="id"
                 type="xsd:ID"/>
  <xsd:attribute name="metadata-complete"
                 type="xsd:boolean">
    ...

总之,这意味着这metadata-complete是元素的属性。web-app

将您的 xml 更改为此:

<?xml version=1.0 encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                             http://java.sun.com/xml/ns/javaee/web-app_3.0.xsd"
         version="3.0"
         metadata-complete="false">

    <display-name>Hello World</display-name>

</web-app>
于 2013-06-17T06:00:22.230 回答