本文主要是介绍关于web.xml的 A field of identity constraint “web-app-servlet-name-uniqueness“问题,求解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.Eclipse创建Web项目,web.xml问题
报错:cvc-id.3: A field of identity constraint ‘web-app-servlet-name-uniqueness’ matched element ‘web-app’, but this element does not have a simple type.
1.1查看xml的schema约束文件,也就是"http://java.sun.com/xml/ns/javaee"
-
找到约束,‘web-app-servlet-name-uniqueness’。
可以看到报错的,unique约束“web-app-servlet-name-uniqueness”在这里约束了element:servlet下的servlet-name唯一。没有问题。 -
再看servlet-name
servlet-name是基于nonEmptyStringType的。 -
看nonEmptyStringType。
可以看到,就是string类型,但是规定了minLength为1,也就是不为空。 -
总结,关于约束没有问题。
1.2 关于not have a simple type
A field of identity constraint ‘web-app-servlet-name-uniqueness’ matched element ‘web-app’, but this element does not have a simple type.
这个问题后半句翻译过来就是,'servlet-name’这个元素,缺少simple type,但没有错啊!!!
问题应该出现在eclipse对xml文件的校验。
2. 解决办法
1.1干掉xmlns
即将xmlsn后双引号""里的内容干掉,添加或删除字符都行,全删也可以。网上流行的将http://java.sun.com/xml/ns/javaee变成http://Java.sun.com/xml/ns/javaee同理。直接将这个ns命名空间干掉就好了。
1.2修改eclipse xml校验器
window-preferences-XML-XML Files-Validation里干掉它。
1.3临时解决,进入project-clean一下项目
清除一下该项目缓存,如果不点进去web.xml它不会校验,也就不会报错了。但是只是临时的,下次点进去,eclipse又会对web.xml自动进行校验。
1.4目前我还没找到eclipse会对其报错的原因,估计eclipse的社区里会有?可以去看看。————————————————————————
这篇关于关于web.xml的 A field of identity constraint “web-app-servlet-name-uniqueness“问题,求解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!