OSGI Bundle和Web容器加载类冲突问题的分析和解决

http://blog.csdn.net/achilles12345/article/details/7260000

 

上面这篇文章解释的算是比较清楚的。我自己遭遇的问题如下(HSF使用了log4j,我自己也使用了log4j,然后问题就来了):

 

 
  
  1. 信息: Dual registration of jndi stream handler: factory already defined 
  2. log4j:WARN No appenders could be found for logger (com.taobao.remoting.common). 
  3. log4j:WARN Please initialize the log4j system properly. 
  4. DeployServer started, listen at: 12201 
  5. log4j:ERROR Could not create an Appender. Reported error follows. 
  6. java.lang.ClassCastException: org.apache.log4j.DailyRollingFileAppender cannot b 
  7. e cast to org.apache.log4j.Appender 
  8.         at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.ja 
  9. va:175) 
  10.         at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurat 
  11. or.java:150) 
  12.         at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfi 
  13. gurator.java:163) 
  14.         at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOM 
  15. Configurator.java:425) 
  16.         at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.ja 
  17. va:345) 
  18.         at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827) 
  19.         at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java 
  20. :712) 
  21.         at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java 
  22. :618) 
  23.         at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:7 
  24. 43) 
  25.         at com.taobao.config.client.ConfigClientLogger.initialize(ConfigClientMa 
  26. nager.java:52) 
  27.         at com.taobao.config.client.ConfigClientLogger.<clinit>(ConfigClientMana 
  28. ger.java:102) 
  29.         at com.taobao.config.client.SubscriberRegistrar.<clinit>(SubscriberRegis 
  30. trar.java:72) 
  31.         at com.taobao.hsf.model.metadata.component.MetadataComponent.subscriber( 
  32. MetadataComponent.java:106) 
  33.         at com.taobao.hsf.process.component.ProcessComponent.consume(ProcessComp 
  34. onent.java:107) 
  35.         at com.taobao.hsf.app.spring.util.HSFSpringConsumerBean.init(HSFSpringCo 
  36. nsumerBean.java:251) 
  37.         at com.taobao.hsf.app.spring.util.HSFSpringConsumerBean.afterPropertiesS 
  38. et(HSFSpringConsumerBean.java:264) 
  39.         at org.s