【问题标题】:Maven Eclipse Spring JUNIT java.lang.NoClassDefFoundError: com.filenet.apiimpl.util.J2EEUtil (initialization failure)Maven Eclipse Spring JUNIT java.lang.NoClassDefFoundError: com.filenet.apiimpl.util.J2EEUtil (初始化失败)
【发布时间】: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


【解决方案1】:

好的 - 我能够解决问题。我需要从头开始重新创建项目并不断添加内容,直到我能够重新创建问题。从那里解决它很容易。

我需要从项目的构建路径中删除 WebSphere Application Server 8.5 Server Runtime。我添加它是为了解决一些 JAX-RS 类引用。当然,我需要解决这些引用问题——我通过将 JAX-RS 瘦客户端 JAR 安装到 Maven 的本地存储库中,然后将其添加到 POM 中来做到这一点。

我仍然不清楚为什么我没有从详细的类加载或异常跟踪中获得更多信息。不管怎样,问题都解决了。

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多