我有一个在websphere WAS 6.1 (在IBM RSA下)运行的Web应用程序。
它由两个EAR组成,每个EAR都有一个Web模块 (WAR)。
该应用程序有一个菜单,由于xsl + xsql解析而加载。
情况是,如果我们以正常模式启动服务器,则菜单未正确加载,但是当我们以调试模式启动服务器时,菜单会正确加载。
有人有任何线索可以发生在这里吗?
谢谢
WebSphere Application Server在正常模式和调试模式下使用不同的XML引擎,听起来你发现它们之间存在差异。 您应该仔细检查您的代码是否遵循javadoc(即,您没有使用未定义的行为),如果不是这样,请考虑与IBM打开PMR以在正常模式或调试模式下修复问题(它可能是调试模式也应该失败...)。 或者,考虑升级到更新的版本; 6.1很老了,您的问题可能会在产品的更高版本中修复。
问题解决了,
在类路径中,有一个名为xmlparserv2.jar的库,带有“有问题的”xslt处理器(基于javax.xml.transform)。
从项目中删除它,做的事情。
现在,其他库执行xslt转换(在org.apache.xalan.xslt的基础上)。
这篇文章给了我很多帮助:javax.xml.transform使用什么处理器?