2013-06-24 169 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

感谢所有那些谁帮助提供宝贵的意见。在每一步遇到的堆栈轨迹都帮助我指出了正确的方向。