qqlong_gyl 2014-03-11 08:33
浏览 898

Digester+weblogic中digester.parse(input)为null

代码片段如下:

private static void parser() {
        File input = new File(Configurator.getTransactionConfigFile());
        File rules = new File(Configurator.getDigesterRuleFile());  
        // TODO
        try {
            // 创建一个digester对象并制定解析规则
            Digester digester = DigesterLoader.createDigester(rules.toURL());
            // 不进行XML与相应的DTD的合法性验证
            digester.setValidating(false);
            // 利用创建的digester来应用规则
            application = (Application) digester.parse(input);
            log.info("---------------->TransactionConfigure.parser<----------------组成的报文:" + "\r\n" + application);
        } catch (Exception e) {
            e.printStackTrace();
            log.info("---------------->  e" + e);
            throw new RuntimeException("解析交易配置文件[transaction-config.xml]错误!");
        }
    }

在本机运行时(java version"1.6.0_45";tomcat6.0;Myeclipse10): application = (Application) digester.parse(input); 可以得到我想要的数据(log文件中可以看到),并且程序运行正常。

但是将这个工程打成war包后放入weblogic11g启动运行后,application = (Application) digester.parse(input); 却不能得到我想要的数据了 application = null;

上网查看了资料,说是WebLogic自带的xml解析器与apache的commons-digester-2.1.jar以上的版本冲突,WebLogic不能兼容太高版本的xml解析器。建议换成commons-digester-1.7.jar或1.8.jar。但是更换后,情况依旧。

这个问题已经困扰我一周了,一直没有找到问题所在,请各位大神帮忙解决,在线等啊~!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
    • ¥20 怎么在stm32门禁成品上增加查询记录功能