2013-02-01 92 views
4

我正在使用powermock和powermock-easymock-1.5-full.jar。以下例外發生。java.lang.ClassCastException:com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl不能轉換爲

這些是我的班級路徑中的所有罐子。並下載爲powermock包從http://code.google.com/p/powermock/downloads/detail?name=powermock-easymock-testng-1.5.zip&can=2&q=

  1. EasyMock的-3.1.jar
  2. 了Javassist-3.17.1-GA.jar
  3. jcommander-1.27.jar
  4. objenesis-1.2.jar
  5. snakeyaml-1.6.jar
  6. TestNG的-6.8.jar
  7. BSH-2.0b4.jar
  8. CGLIB的節點p-2.2.2.jar
  9. powermock-EasyMock的-1.5-full.jar

    java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory 
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source) 
    at com.eibus.localization.message.MessageSet._tryGetMessageText(MessageSet.java:268) 
    at com.eibus.localization.message.Message._tryGetMessage(Message.java:135) 
    at com.eibus.localization.message.Message.getMessage(Message.java:110) 
    at com.eibus.localization.message.Message.getMessageWithLocaleFallBack(Message.java:155) 
    at com.eibus.localization.StringFormatter.getMessageWithFallBack(StringFormatter.java:141) 
    at com.eibus.localization.StringFormatter.format(StringFormatter.java:43) 
    at com.eibus.localization.LocalizableComposite.getMessage(LocalizableComposite.java:42) 
    at com.eibus.localization.exception.LocalizableException.getMessage(LocalizableException.java:168) 
    at com.eibus.localization.exception.LocalizableException.getLocalizedMessage(LocalizableException.java:130) 
    at java.lang.Throwable.toString(Throwable.java:479) 
    at java.lang.String.valueOf(Unknown Source) 
    at java.io.PrintWriter.println(Unknown Source) 
    at java.lang.Throwable$WrappedPrintWriter.println(Unknown Source) 
    at java.lang.Throwable.printStackTrace(Throwable.java:654) 
    at java.lang.Throwable.printStackTrace(Throwable.java:720) 
    at org.junit.runner.notification.Failure.getTrace(Failure.java:67) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestListener.testFailure(JUnit4TestListener.java:68) 
    at org.junit.runner.notification.RunNotifier$4.notifyListener(RunNotifier.java:100) 
    at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:41) 
    at org.junit.runner.notification.RunNotifier.fireTestFailure(RunNotifier.java:97) 
    at org.junit.internal.runners.MethodRoadie.addFailure(MethodRoadie.java:154) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.handleException(PowerMockJUnit44RunnerDelegateImpl.java:359) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit49RunnerDelegateImpl$PowerMockJUnit49MethodRunner.executeTest(PowerMockJUnit49RunnerDelegateImpl.java:93) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:284) 
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:84) 
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:209) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:148) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:122) 
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34) 
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44) 
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:120) 
    at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:101) 
    at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53) 
    at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:53) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

請幫我

+0

你有沒有得到任何解決方案? – Saurabh

回答

3

如果這是一個PowerMock相關的問題,那麼你可以嘗試註釋您測試類:

@PowerMockIgnore({"javax.xml.parsers.*", "com.sun.org.apache.xerces.internal.jaxp.*"}) 
+0

上面的技巧不適合我。有趣的部分是,只有在我的測試代碼中存在問題(可以通過一些例外)時,我纔會得到上述異常。拋出實際的異常,而不是拋出上面的ClassCastException。 – Ramesh

+0

當調用log4j時引發異常。這與例外沒有關係 – cattox

3

這裏有些東西適合我:

@PowerMockIgnore({"javax.xml.*", "org.xml.sax.*", "org.w3c.dom.*", "org.springframework.context.*", "org.apache.log4j.*"}) 
相關問題