2013-06-24 168 views
0

在試圖在我的項目上運行JUnit時,我已經完成了一個多小時的搜索。我可以看到有一個班級缺少 - LogEntryFormatter。但是不管我多麼努力,我都無法找到包含這個jar文件的jar文件。 Eclipse在運行測試用例文件後顯示下面的堆棧跟蹤。嘗試使用JUnit時出錯

java.lang.NoClassDefFoundError: weblogic/logging/LogEntryFormatter at java.lang.ClassLoader.findBootstrapClass(Native Method) at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:892) at java.lang.ClassLoader.loadClass(ClassLoader.java:302) at java.lang.ClassLoader.loadClass(ClassLoader.java:300) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at weblogic.logging.commons.LogImpl.(LogImpl.java:14) at weblogic.logging.commons.LogFactoryImpl.getInstance(LogFactoryImpl.java:21) at weblogic.logging.commons.LogFactoryImpl.getInstance(LogFactoryImpl.java:18) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.(SpringJUnit4ClassRunner.java:91) ...

當我使用@RunWith(SpringJUnit4ClassRunner.class),如果我用@RunWith(JUnit4.class),樣品測試似乎工作。

任何形式的幫助都是有用的。我正在使用WebLogic服務器,並且所有與weblogic相關的jar都可以在類路徑中使用。

+0

考慮使用[TestNG](http://testng.org)。由於您似乎第一次運行測試框架,因此請嘗試使用此代替JUnit。做了開關,從不回頭。 – fge

+0

您是否試圖強制weblogic使用Log4j http://docs.oracle.com/cd/E13222_01/wls/docs90/logging/config_logs.html#using_log4j –

+0

我可以在我的weblogic.jar Weblogic中看到此類12.1你使用的是同一版本嗎?檢查JAR文件中的類 – JoseK

回答

0

好吧,經過很多努力,我能夠運行JUnit測試,儘管不是我想要的確切方式。我也無法解釋爲什麼會發生這種情況或配置了weblogic.logging。這可能是我的項目設置可能存在的問題。在將以下jar文件添加到classpath(刪除除jdk之外的所有內容之後)之後,它似乎對我有用。

  • wlclient
  • com.bea.core.utils.classloaders
  • com.bea.core.descriptor
  • com.bea.core.utils
  • com.bea.core.management。核心
  • 的JUnit 4.5

感謝所有那些誰幫助提供寶貴的意見。在每一步遇到的堆棧軌跡都幫助我指出了正確的方向。