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条回答

    报告相同问题?

    悬赏问题

    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能
    • ¥15 jmeter脚本回放有的是对的有的是错的
    • ¥15 r语言蛋白组学相关问题