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

来源:互联网 发布:网络图片搞笑有没有 编辑:程序博客网 时间:2024/05/17 08:11

 一个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:

0 0