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 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器