【问题标题】:NoClassDefFoundError for com.cloudant.client.api.ClientBuilder but class existscom.cloudant.client.api.ClientBuilder 的 NoClassDefFoundError 但类存在
【发布时间】:2019-06-30 13:06:31
【问题描述】:

项目返回错误Error 500: javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/cloudant/client/api/ClientBuilder

但是阶级是存在的。 下面的错误(删除了项目的名称)。

这里是依赖

我已经尝试了mvn clean install -U,删除了.m2 文件夹,到目前为止仍然没有运气。

Eclipse 版本是版本:2018-12 (4.10.0)。

我的电脑是 macOS High Sierra 10.13.6

【问题讨论】:

  • 请尝试 maven/update eclipse 项目并检查 maven 源是否在您的路径上。
  • JAR 文件是否已部署到 Web 容器? Web 容器是否在部署后重新启动了 webapp?你检查了吗?
  • 更新了 maven 和 eclipse 项目,但这些都没有解决。解决的一件事是从磁盘中删除项目,使用不同的文件夹名称再次下载。然而,几个小时后,我遇到了同样的错误。

标签: java eclipse cloudant


【解决方案1】:

找不到类定义错误表示您的 Java 运行时找不到相关类。请检查您的应用是否已部署到您认为应该部署的运行时。

这通常与您项目生命周期中的以下任何步骤相关联。 1. 在 Eclipse 中构建(打开“自动构建”)。我看到你已经完成了这些步骤。 2. 部署到目标运行时(例如部署到一些 Web 容器)。检查您的代码是否正在部署到目标运行时。

但是我看到您已经提到它可以工作一段时间,这意味着您需要了解为什么运行时无法在那个时候访问您的类。我会做以下事情。 1. 检查 JAR 是否已经存在。 2. 如果不存在,请按照您遵循的构建部署步骤进行操作。这意味着您必须确定 JAR 是如何被神秘地删除的。 3. 如果 JAR 存在,但您看到此错误,则表示您的运行时 CLASSPATH 已神秘更改,需要调查。理想情况下,这不应该发生,因为所有软件通常都是“一致的”,即它们要么始终存在错误,要么始终工作。这种不一致本身表明您需要破解一些环境问题。

那是 IBM WebSphere 吗?如果这是在您的公司中并且是共享服务器或其他东西,请检查是否有人无意中摆弄了您的部署或其他东西。

祝你好运!

编辑:检查这在概念上是否对您有帮助 - NoClassDefFoundError by switching to another project

【讨论】:

    猜你喜欢
    • 2011-09-07
    • 2023-01-16
    • 1970-01-01
    • 2014-03-12
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多