【发布时间】:2015-06-16 13:22:18
【问题描述】:
这是一个奇怪的问题。该错误仅在我运行 eclipse 和 Junit 时发生。当我将相同的代码发布到一个成熟的 Web 容器时它工作正常,当我将代码外部化到一个独立的 Java 应用程序时它工作正常。错误是
java.lang.NoClassDefFoundError: com.filenet.apiimpl.util.J2EEUtil (initialization failure)
错误是报告无法初始化类,但没有关于 J2EEUtil 类所依赖的其他详细信息。我无法弄清楚如何证明或反驳这一点。
我已通过详细的类加载确认正在加载 JAR (Jace.jar) 和类本身。
如果您认为我误诊了问题,我也在寻找其他想法和想法。非常感谢。
PS - 我通过右键单击 JUnit 测试类并选择 Run As -> JUnit Test 来运行它。我在 JUnit 测试的顶部添加了以下注释以加载 Spring 工件:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/SpringConfig.xml")
@EnableTransactionManagement
@TransactionConfiguration(defaultRollback=true)
@Transactional
【问题讨论】:
-
您能说明一下您是如何在 Eclipse 中运行它的吗?例如它是一个动态 Web 项目吗?你在用 Maven 构建吗?等
-
Josh - 我添加了一个 PS 部分来为您提供所需的详细信息。
-
有问题的 JAR 已使用 install:file 添加到 Maven 的本地存储库中,并且正在通过 Maven 依赖项将 JAR 添加到 JUNIT 环境中。
-
This answer 声明您的错误是由先前未能使用给定名称初始化类引起的。如果您看到的错误信息被写入某种日志,请仔细检查日志以查看是否存在先前的故障。这可能会导致您找到问题的根本原因。
-
卢克 - 感谢您的建议。不幸的是,类 def not found 异常是日志中唯一的异常。 :-(
标签: java eclipse spring maven junit