您的位置:首页 > 其它

weblogic上部署应用程序时,web.xml文件编码错误

2013-12-13 21:01 399 查看
 一个web项目在tomcat下可以运行,转到weblogic下,在控制台中就报异常信息:

weblogic.application.ModuleException: VALIDATION PROBLEMS WERE FOUND E:\bea\user_projects\domains\base_domain\.\autodeploy\MyApp\WEB-INF\web.xml:1:5:1:5: problem: No content type provided for validation of a content model.:<E:\bea\user_projects\domains\base_domain\.\autodeploy\MyApp/WEB-INF/web.xml:1:5>

问题分析:

问题一定出在tomcat和weblogic对web.xml的格式处理上,再看“1:5:1:5”,凭感觉应该是1行5列的位置,第一行是:<?xml version="1.0" encoding="UTF-8"?>,
再根据“No content type provided for validation of a content model”可以推断weblogic没有识别出它是一个xml文件。这时候,打开这个web.xml属性多了一句话:Byte Order Mark is UTF-8(BOM)。

查看和转化:

既然一个UTF-8文件可能有BOM,也可能没有,那该如何区分呢?只要用带十六进制编辑方式的软件,例如,用UltraEdit-32打开文件,切换到十六进制编辑模式,察看文件头部是否有EF BB BF。有,则为带BOM方式;无BOM方式:文件头部有3C 3F 78。 

Windows自带的notepad记事本,保存为UTF-8时,默认就带BOM。转换的方法有很多,常见的UltraEdit-32或NotePad++都可以,以UltraEdit-32为例。打开文件后,选择"另存为",在"编码"一栏中,选择“UTF-8 -无BOM”。

另外,DreamWeaver CS3也有类似的选项,在"首选项"中,如果选择 Unicode (UTF-8) 作为默认编码,则可以选择"包括 Unicode 签名 (BOM)"选项,以在文档中包括字节顺序标记 (BOM)。否则,不带BOM:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: