<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java民工的鐵皮房

    Consciousness Of Programming - wjywilliam 想飛,總是會飛的......
    posts - 8, comments - 14, trackbacks - 0, articles - 9
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    場景:運行運用了Struts2.0 framework的項目時發生的錯誤。

    環境:sun jdk1.5.0_15 + tomcat 5.0.28


    原本以為自己玩了eclipse和myeclipse這么多年,一向項目的配置發布用myeclipse雖然沒有駕輕就熟,但是至少不會被難道,這次確倒在了這個jdk 1.5及tomcat 5.0.28的環境上。誰叫以前一直沒有試過在tomcat5.0.28上發布struts2呢,剛好現在客戶說一定要用struts2,剛好自己也想償償新,卻償到了這個苦頭。開始還以為是自己用myelipse deploy的問題,結果卻不是,為啥別人的tomcat5.5就能好好的run呢?廢話不少說,現在就看以下exception:

    完整的Exception:
    Exception starting filter struts2
    javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
     at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
     at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<clinit>(DomHelper.java:167)
     at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:786)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:132)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:398)
     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:455)
     at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:225)
     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:308)
     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:79)
     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3698)
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4349)
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
     at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
     at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
     at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
     at org.apache.catalina.core.StandardService.start(StandardService.java:480)
     at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:585)
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)


    錯誤原因:
    認為是由于jdk1.5 與 tomcat5.0之間的關于 TransformerFactoryImpl 類的沖突造成的。

    tomcat-5.0.28\common\endorsed下有兩個jar包:xercesImpl.jarxml-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".

    解決辦法:
    1. 將xml-apis.jar移出endorsed文件夾。
    2. 用xalan系列jar包替換原來的xercesImpl.jarxml-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.

    (以上參考小立飛刀TransformerFactoryImpl not found exception一文,也謝謝作者解答這個難題)



     


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久久久久国产精品免费免费| 亚洲国产中文在线视频| 无码一区二区三区AV免费| 免费久久人人爽人人爽av| 羞羞漫画小舞被黄漫免费| 亚洲影院天堂中文av色| 亚洲图片校园春色| 久久久久亚洲精品无码蜜桃 | 久久精品国产亚洲AV网站| 亚洲成A人片在线观看无码3D| 久久久久免费看黄A片APP| 免费人成在线观看69式小视频| 中国精品一级毛片免费播放| 亚洲av无码专区国产不乱码| 久久精品国产亚洲av麻豆图片| 亚洲an天堂an在线观看| 亚洲精品白浆高清久久久久久| 亚洲人成网站在线观看青青| 国产乱子伦精品免费无码专区| 成人在线免费观看| 日韩精品成人无码专区免费| 美女视频黄的全免费视频网站| 亚洲第一网站免费视频| 最近2019年免费中文字幕高清| 无码av免费一区二区三区试看| 免费无码又爽又刺激一高潮| 国产日韩AV免费无码一区二区| 免费网站观看WWW在线观看| 乱爱性全过程免费视频| eeuss影院ss奇兵免费com| 一区二区三区免费视频播放器| 一区二区三区免费看| 羞羞视频免费网站在线看| 中文字幕在线免费观看视频| eeuss免费影院| 青青青国产手机频在线免费观看| 久久亚洲免费视频| 1000部无遮挡拍拍拍免费视频观看| 亚洲成年人免费网站| 成人性生交大片免费看无遮挡| 最近免费中文字幕大全|