0

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

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) 在 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.springframework.test.context.junit4.SpringJUnit4ClassRunner 的 org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)。(SpringJUnit4ClassRunner.java:91) ...

当我使用@RunWith(SpringJUnit4ClassRunner.class)并且如果我使用@RunWith(JUnit4.class)时,样本测试似乎有效。

任何形式的帮助都会很有用。我正在使用 WebLogic 服务器,所有与 weblogic 相关的 jar 都在类路径中可用。

4

1 回答 1

0

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

  • 客户端
  • com.bea.core.utils.classloaders
  • com.bea.core.descriptor
  • com.bea.core.utils
  • com.bea.core.management.core
  • junit 4.5

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

于 2013-06-25T11:01:07.150 回答