Java 尝试JUnit时出错

Java 尝试JUnit时出错,java,weblogic,junit4,Java,Weblogic,Junit4,在我的项目上运行JUnit时,我已经搜索了一个多小时。我可以看到缺少一个类-LogEntryFormatter。但是不管我怎么努力,我都找不到包含这个文件的jar文件。Eclipse在运行测试用例文件后显示下面的堆栈跟踪 java.lang.NoClassDefFoundError:weblogic/logging/LogEntryFormatter 位于java.lang.ClassLoader.findBootstrapClass(本机方法) 位于java.lang.ClassLoader.

在我的项目上运行JUnit时,我已经搜索了一个多小时。我可以看到缺少一个类-
LogEntryFormatter
。但是不管我怎么努力,我都找不到包含这个文件的jar文件。Eclipse在运行测试用例文件后显示下面的堆栈跟踪

java.lang.NoClassDefFoundError:weblogic/logging/LogEntryFormatter 位于java.lang.ClassLoader.findBootstrapClass(本机方法) 位于java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:892) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:302) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:300) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:252) 位于weblogic.logging.commons.LogImpl.(LogImpl.java:14) 在weblogic.logging.commons.LogFactoryImpl.getInstance(LogFactoryImpl.java:21) 在weblogic.logging.commons.LogFactoryImpl.getInstance(LogFactoryImpl.java:18) 位于org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685) 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner。(SpringJUnit4ClassRunner.java:91)

当我使用
@RunWith(SpringJUnit4ClassRunner.class)
并且如果我使用
@RunWith(JUnit4.class)
时,一个示例测试似乎可以工作


任何形式的帮助都是有用的。我使用的是WebLogic server,所有与WebLogic相关的JAR都可以在类路径上找到。

好的,所以经过大量的努力,我能够运行JUnit测试,尽管不是以我想要的方式运行。我也无法解释为什么会发生这种情况,或者在哪里配置了
weblogic.logging
。这可能是我的项目设置中的一个问题。在将以下jar文件添加到类路径之后(删除除jdk之外的所有内容之后),它似乎对我有效

  • wlclient
  • com.bea.core.utils.classloaders
  • com.bea.core.descriptor
  • com.bea.core.utils
  • com.bea.core.management.core
  • JUnit4.5

感谢所有提供宝贵意见的人。在每个步骤中遇到的堆栈跟踪帮助我指向正确的方向。

考虑使用。由于您似乎是第一次运行测试框架,请尝试使用此方法而不是JUnit。你有没有试图强迫weblogic使用Log4j?我可以在weblogic 12.1中的weblogic.jar中看到这个类?你使用的是同一个版本吗?检查JAR文件中的类我添加了weblogic.JAR,但得到了相同的错误:(您需要定义weblogic之外的一些其他commons日志实现。在单元测试中使用weblogic日志没有意义。