前幾天發佈應用時出現瞭如下所示的一段錯誤提示信息:
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"
>
恩,解決問題的大概思路就是這樣了,先仔細的弄明白錯誤的提示信息是什麼意思,如果能搞定或者有思路就試驗試驗。如果思路不暢就百度看看其他的網友是怎麼分析和解決這個問題的,一般而言許多開發中所遇到的問題在網上多少都會有些解決方案的,如果找不到比較匹配的方案,也可能會想到一些解決問題的新思路,實在不行就問問同事查查書本,最後還是解決不了就請專家們幫忙看看!哈哈,不過一般三步就差不多了!