Intellij idea 这个想法似乎不了解ServletAPI3.0XML模式,但我的web应用程序部署正常吗?
我能够使用基于注释的url映射从IDEA部署我的web应用程序而不会出现问题,那么为什么IDEA仍然强调标记违反了这里的模式定义Intellij idea 这个想法似乎不了解ServletAPI3.0XML模式,但我的web应用程序部署正常吗?,intellij-idea,xsd,servlet-3.0,Intellij Idea,Xsd,Servlet 3.0,我能够使用基于注释的url映射从IDEA部署我的web应用程序而不会出现问题,那么为什么IDEA仍然强调标记违反了这里的模式定义 (使用IDEA 12.1.4,Tomcat 7)IDEA根据模式验证XML,正确地说这里不允许元素元数据完整 如果查看模式web-app_3.0.xsd,您将看到它导入web-commmon_3.0.xsd。这个web公共模式将元数据完整定义为web公共属性的一部分 <xsd:attributeGroup name="web-common-attributes"
(使用IDEA 12.1.4,Tomcat 7)IDEA根据模式验证XML,正确地说这里不允许
元素元数据完整
如果查看模式web-app_3.0.xsd
,您将看到它导入web-commmon_3.0.xsd
。这个web公共
模式将元数据完整
定义为web公共属性
的一部分
<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">
...
+1用于正确使用和拼写Incognitant:)您能检查IntelliJ是否具有正确的模式吗?您可以通过在以.xsdGreat-tip结尾的字符串上按ctrl-b来钻取它!我不知道IDEA让你们跳到它的模式定义。迄今为止,它所对抗的总是黑魔法。非常感谢:)太棒了,非常感谢。xml是从一个数据库中提取出来的。考虑到软件出版的社论状况,我应该对此提出质疑。哦。。。我还能够在web-common_3.0.xsd中读到应用程序部署的原因:如果未指定metadata complete或将其设置为“false”,则部署工具必须检查应用程序的类文件,以获取规范指定的注释。
<?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>