`
fantaxy025025
  • 浏览: 1278661 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

异常 TransformerFactoryImpl not found 解决方法

阅读更多
在学习Myeclipse、webservice、xfire时遇到的问题:异常 Provider org.apache.xalan.processor.TransformerFactoryImpl not found
google一下,发现很多人遇到同样的问题,留下来作为学习备份

参考:
http://hi.baidu.com/raybb/blog/item/3007aacc4558ae1300e9283a.html
http://www.blogjava.net/menglikun/archive/2008/10/09/233291.html
http://zhidao.baidu.com/question/37829777.html

================================================================================
javax.servlet.ServletException: Error occured during request processing: Provider org.apache.xalan.processor.TransformerFactoryImpl not found org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:757) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:658) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.cotel.util.filter.EncodingFilter.doFilter(EncodingFilter.java:41)

错误原因:
认为是由于jdk1.5 与 tomcat5.0之间的关于 TransformerFactoryImpl 类的冲突造成的。
tomcat-5.0.28\common\endorsed下有两个jar包:xercesImpl.jar和xml-apis.jar,其中的类 javax.xml.transform.TransformerFactory 与jdk1.5中的类org.apache.xalan.processor.TransformerFactoryImpl其实是同一个类。
in tomcat java is called with the following argument:
-Djava.endorsed.dirs="X:\my_app\Portal\tomcat\common\endorsed"
In this directory you find two jar files: xercesImpl.jar and xml-apis.jar needed by tomcat and that must be loaded before all xmsl stuff present in the jdk (1.4 naming problem). And in the file xml-apis.jar the TransformerFactoryImpl is set to "org.apache.xalan.processor.TransformerFactoryImpl".

解决办法为下面3步骤:
1. 将xml-apis.jar移出endorsed文件夹。(可以先备份)
2. 用xalan系列jar包替换原来的xercesImpl.jar和xml-apis.jar。
    xalan系列jar包:serializer.jar、xalan.jar、xercesImpl.jar和xml-apis.jar。
3. For other application, just check this file or dom3-xml-apis.jar in your class path.
下载地址:
http://mirrors.24-7-solutions.net/pub/apache/xml/xalan-j/xalan-j_2_7_0-bin.zip
提示:如果没有连接表示官方已经更新了,但主连接不会更新,下面的可以下载
http://mirrors.24-7-solutions.net/pub/apache/xml/xalan-j
或者:http://mirrors.24-7-solutions.net/pub/apache/xml/

================================================================================
如果你不会这样做,就使用1.4的JDK和tomcat5.0
或者JDK1.5 tomcat5.5 这2种类型才是匹配的

================================================================================
上面的是我copy的,同时做了些修改,呵呵`
以前没有注意到这个问题,jar包重复。
《core java》中有包搜索的先后问题、重复冲突问题的很好解释,原来没有注意到过,现在开发用到的jar包多了之后,这个问题当小心了,呵呵,编译可能不会报错!

现在想到的解决方法为:
1. 保留自己的jar包库,这样在引用别的插件的时候,其jar包可以不导入(用自己的),这样就不会发生多个jar包重复问题了
2. java文件最好别用*号: import xxx.yyy.zzz.*;这样更容易引起问题
3. 第三方软件最好配套,jdk5对应Tomcat5.5吗,真麻烦~

分享到:
评论

相关推荐

    xalan系列jar包

    xalan 系列最新全部jar包和文档 包括serializer.jar、xalan.jar、xercesImpl.jar、xml-apis.jar、xsltc.jar ...解决Provider org.apache.xalan.processor.TransformerFactoryImpl not found错误。

    serializer.jar,xalan.jar,xalan-2.7.0.jar,xercesImpl.jar,xsltc.jarxml-apis.jar

    serializer.jar,xalan.jar,xalan-2.7.0.jar,xercesImpl.jar,xsltc.jarxml-apis.jar,解决tomcat和jdk1.6以上Provider org.apache.xalan.processor.TransformerFactoryImpl not found,或者 Error filterStart

    xalan 系列最新全部jar包和文档.rar

    xalan 系列最新全部jar包和文档 xalan jar包(包括serializer.jar、xalan.jar、xercesImpl.jar、xml-apis.jar、xsltc.jar) ...Provider org.apache.xalan.processor.TransformerFactoryImpl not found错误。

    xalan.jar xercesImpl.jar

    解决"Provider org.apache.xalan.processor.TransformerFactoryImpl not found"的错误,可能需要检查以下几点: 1. 确保`xalan.jar`存在于类路径中。 2. 如果使用的是较新的Java版本,可能需要调整`java.security`...

    xfire部分过程中tocmat少xalan的四个JAR包

    javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found 结果……tomcat5.0.28缺失包xalan.jar 解压后替换覆盖serializer.jar、...

    Oracle函数取得姓名对应的拼音 字典数据

    一个常见的解决方案是使用Oracle的JDBC驱动和Java的`com.sun.org.apache.xerces.internal.jaxp.TransformerFactoryImpl`类,它提供了对XML文档处理的功能,同时也包含了汉字转拼音的能力。在Oracle的PL/SQL环境中,...

    java 扩展 xslt

    3. **执行转换**:使用`TransformerFactory`创建`Transformer`实例,并调用`transform`方法进行转换。 ```java TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = ...

    xalan-j_2_7_1.rar

    tomcat5.0与jdk1.5的TransformerFactoryImpl类冲突 解压后替换覆盖serializer.jar、xalan.jar、xercesImpl.jar和xml-apis.jar到%TOMCAT_HOME%\common\endorsed即可

    ant-xalan1-1.6.3.jar.zip

    <factory name="org.apache.xalan.processor.TransformerFactoryImpl"/> ``` 这里,"input.xml"是源XML文件,"output.html"是转换后的目标文件,而"transform.xsl"则是定义转换规则的XSL样式表。 总的来说,"ant-...

    tutorial-xml:关于处理 XML 文档的 Java 教程的示例文件

    在Java中,可以使用`com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl`和`com.sun.org.apache.xalan.internal.xsltc.runtime.Output`类,结合CSS选择器,对XML文档进行样式处理。 7. **XML ...

Global site tag (gtag.js) - Google Analytics