【个人整理】WAS7.0迁移时遇到的问题:TransformerFactoryImpl not found及解决
2011-11-24 15:34
218 查看
最近有个任务是将原本运行在WAS6.0下的一个项目迁移到WAS7.0下。
结果出现了很多莫名其妙的问题,其中一个在于,点击页面时,会报这样一个错误:
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.xsltc.trax.TransformerFactoryImpl not found at javax.xml.transform.TransformerFactory.newInstance(Unknown
Source) at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl._getInputStream(PageDataImpl.java:137) at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl.getInputStream(PageDataImpl.java:120) at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:156) at
org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:96) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:1103) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:486) at
com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:233) at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:216) at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:127) at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:253) at
com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:120) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:512) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:439) at
com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:297) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:147) at
com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:340) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:341) at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:139) at
查了很多资料,无果,后来在一片ibm的文章中找到了答案:
https://www-304.ibm.com/support/docview.wss?uid=swg21444183
翻译一下,大体的意思是:
在WAS7.0的环境下使用TransformerFactory.newInstance()方法时,不必自己指定javax.xml.transform.TransformerFactory的值,即如下代码
System.setProperties("javax.xml.transform.TransformerFactory", "org.apache.xalan.xsltc.trax.TransformerFactoryImpl");
或者类似的,是不能在代码中出现的。也不能在WAS的JVM变量中出现。如果存在这样的设定,WAS在启动,或者运行的当中,就会出现TransformerFactoryImpl not found 的错误。
解决方法:
1.在项目中全文搜索javax.xml.transform.TransformerFactory,如果存在
System.setProperties("javax.xml.transform.TransformerFactory", "org.apache.xalan.xsltc.trax.TransformerFactoryImpl");
等设置系统变量的代码,注释之。
2.打开Websphere运行管理控制台,在“WebSphere Application Server--》[服务器]--》Java 和进程管理--》进程定义--》java虚拟机--》最右边定制属性 ”
中,查看是否存在javax.xml.transform.TransformerFactory的变量设置,如果有,删之。
重启服务后,问题解决
结果出现了很多莫名其妙的问题,其中一个在于,点击页面时,会报这样一个错误:
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.xsltc.trax.TransformerFactoryImpl not found at javax.xml.transform.TransformerFactory.newInstance(Unknown
Source) at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl._getInputStream(PageDataImpl.java:137) at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl.getInputStream(PageDataImpl.java:120) at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:156) at
org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:96) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:1103) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:486) at
com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:233) at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:216) at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:127) at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:253) at
com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:120) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:512) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:439) at
com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:297) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:147) at
com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:340) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:341) at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:139) at
查了很多资料,无果,后来在一片ibm的文章中找到了答案:
https://www-304.ibm.com/support/docview.wss?uid=swg21444183
翻译一下,大体的意思是:
在WAS7.0的环境下使用TransformerFactory.newInstance()方法时,不必自己指定javax.xml.transform.TransformerFactory的值,即如下代码
System.setProperties("javax.xml.transform.TransformerFactory", "org.apache.xalan.xsltc.trax.TransformerFactoryImpl");
或者类似的,是不能在代码中出现的。也不能在WAS的JVM变量中出现。如果存在这样的设定,WAS在启动,或者运行的当中,就会出现TransformerFactoryImpl not found 的错误。
解决方法:
1.在项目中全文搜索javax.xml.transform.TransformerFactory,如果存在
System.setProperties("javax.xml.transform.TransformerFactory", "org.apache.xalan.xsltc.trax.TransformerFactoryImpl");
等设置系统变量的代码,注释之。
2.打开Websphere运行管理控制台,在“WebSphere Application Server--》[服务器]--》Java 和进程管理--》进程定义--》java虚拟机--》最右边定制属性 ”
中,查看是否存在javax.xml.transform.TransformerFactory的变量设置,如果有,删之。
重启服务后,问题解决
相关文章推荐
- org.apache.xalan.processor.transformerfactoryImpl not found问题
- 转载+整理:在部署时使用Excel .NET运行库导出Excel遇到问题及解决办法
- Web前端,遇到的IE6兼容性问题及解决(个人笔记,CSS施工中)
- 架设WordPress服务器过程中遇到的几个问题及解决——个人笔记
- Java基础教程6-Eclipse中如何解决查看JDK源码遇到source not found问题
- 解决用eclipse对maven-web项目进行debug时遇到 source not found问题
- Confluence迁移中遇到的问题(Data too long for column 'STRINGVAL')及解决方法
- 【个人笔记】anaconda安装遇到的问题:failed to creat anaconda menus的解决方法
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- 浅谈个人在瀑布流网页的实现中遇到的问题和解决方法
- [AI]安装Anaconda之后遇到conda comman not found的问题解决
- qt4项目迁移到qt5,遇到的问题及解决办法
- TortoiseSVN更新1.7后遇到的版本迁移问题解决
- 最近整理了个js,解决了excel导入读取数据遇到的种种问题
- 使用Navicat Premium将Oracle数据库中的表和数据迁移到MySQL数据库中,遇到的Date类型出现精度问题及解决方法
- CentOS7.0硬盘安装(双系统win8.1+CentOS7)遇到的问题及解决办法
- WordPress迁移时一些常见问题的解决方法整理
- 刚刚开始学AT89S52单片机遇到的一些小问题 + 个人解决办法
- Eclipse4.3.0+jdk1.7+tomcat7.0配置出现的问题整理及解决
- rails项目迁移中遇到的问题及解决方法