前几天发布应用时出现了如下所示的一段错误提示信息:
weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
problem: cvc-enumeration-valid: string value '3.0' is not a valid enumeration value for web-app-versionType in namespace http://java.sun.com/xml/ns/javaee:<null>
根据错误的提示信息大概可以判断是一个和版本有关的验证问题,又看到有"web-app",所以推断是web.xml文件中的问题!百度了一下,看看其他同仁是怎么分析和解决这个问题的!
没错,是web.xml文件中的配置和Weblogic应用服务器(我们的应用服务器是:WebLogic Server 版本: 10.3.6.0)有不匹配的地方,weblogic10.3.6不支持web-app_3_0.xsd的定义!
1:报错时项目中web.xml的web-app元素的配置如下所示
<web-app
version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
>
2:修改成如下所示的形式就没有这个小问题了
<web-app
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>
恩,解决问题的大概思路就是这样了,先仔细的弄明白错误的提示信息是什么意思,如果能搞定或者有思路就试验试验。如果思路不畅就百度看看其他的网友是怎么分析和解决这个问题的,一般而言许多开发中所遇到的问题在网上多少都会有些解决方案的,如果找不到比较匹配的方案,也可能会想到一些解决问题的新思路,实在不行就问问同事查查书本,最后还是解决不了就请专家们帮忙看看!哈哈,不过一般三步就差不多了!
参考如下: