【问题标题】:NoClassDefFoundError error when running locally only仅在本地运行时出现 NoClassDefFoundError 错误
【发布时间】:2018-07-05 05:23:12
【问题描述】:

我在下面收到以下错误

我添加了以下依赖项并且代码编译...即使在注释掉错误表明其失败的代码时我也会得到这个...

当我在 Heroku 上部署时它可以工作,但在本地运行时失败......

有什么想法吗?我迷路了……

我的依赖:

        <dependency>
        <groupId>com.sendgrid</groupId>
        <artifactId>sendgrid-java</artifactId>
        <version>4.2.0</version>
    </dependency>

【问题讨论】:

    标签: java maven tomcat servlets web


    【解决方案1】:

    在 Maven 控制台中查看错误。似乎依赖项没有下载到您的类路径中。 如果它正在下载,请尝试再次清理和构建。

    还可以尝试 Maven 更新设置。

    【讨论】:

    • 我正在使用 Intelij。我该怎么做?
    【解决方案2】:

    很可能您的本地 maven 存储库已损坏。您可以尝试以下方法:

    1. 转到您的local Maven repository 以检查工件是否已下载。可能是该工件根本没有下载或没有完全/正确下载;
    2. 如果您可以在本地 maven 存储库中找到 sendgrid 目录,请尝试删除该目录并执行 mvn clean install(或 mvn clean idea:idea),这将强制 maven 重新下载工件。

    【讨论】:

    • @user1163234 NoClassDefFoundError 发生在在编译时存在特定类,但在运行时丢失(请参阅here)。这意味着当您运行项目时,工件不包含在运行时中。您可以检查您的服务器配置,看看您是否可以在您正在运行的项目的library 和artifacts 下找到工件。如果找不到,请手动添加它应该可以解决您的问题。
    • @user1163234 忘了提,还要检查 Modules -> 依赖于工件的模块 -> Dependencies 选项卡。
    猜你喜欢
    • 2023-04-07
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多