【问题标题】:Exception in thread "main" java.lang.NoClassDefFoundError: com/google/inject/Module线程“主”java.lang.NoClassDefFoundError 中的异常:com/google/inject/Module
【发布时间】:2019-07-30 09:19:03
【问题描述】:

这里有新用户! 我知道有类似问题的答案,但我不知道如何将它们应用到我的案例中,如果重复,请见谅!

所以...我正在尝试为 Telegram 制作我的第一个机器人,并且我决定使用 Java。我正在关注this tutorial 并从两个示例类(EchoBot 和 Main)中复制粘贴代码。我唯一改变的是带有我从 Telegram 上的 BotGodfather 获得的令牌的令牌。 我在 Ubuntu 18.04.1 上使用 Eclipse 作为 IDE,所以我首先创建了一个 Java 项目,然后将其配置为 Maven 项目。这是我的 pom.xml 的代码: `

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>EchoBot</groupId>
  <artifactId>EchoBot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>EchoBot</name>
  <dependencies>
    <dependency>
     <groupId>org.telegram</groupId>
     <artifactId>telegrambots</artifactId>
     <version>3.6.1</version>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <release>10</release>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

`

当我运行程序时出现此错误:

线程“main”中的异常 java.lang.NoClassDefFoundError: com/google/inject/Module 在 org.telegram.telegrambots.ApiContext.getInjector(ApiContext.java:46) 在 org.telegram.telegrambots.ApiContext.getInstance(ApiContext.java:25) 在 org.telegram.telegrambots.bots.TelegramLongPollingBot.(TelegramLongPollingBot.java:17) 在pearlbot.EchoBot.(EchoBot.java:8) 在pearbot.Main.main(Main.java:17) 引起:java.lang.ClassNotFoundException:com.google.inject.Module 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ... 5 更多

可能是什么问题? 请记住,我什至不知道 Maven 是什么,所以如果它与它相关,你需要解释什么是错误的,就好像你在和一个孩子说话一样! ^^''

【问题讨论】:

  • 运行 mvn clean install,它会将必要的 jars 放到你的类路径中。
  • 您的 pom.xml 中可能缺少依赖项。对于很大一部分(但不是唯一)而言,maven 是一个依赖管理工具。它确保您需要的库在您的路径上。显然,它错过了一个图书馆。
  • 好的,成功了!谢谢! :D

标签: java maven bots telegram noclassdeffounderror


【解决方案1】:

当我尝试为 eclipse Version: 2019-12 (4.14.0) 安装 testng 并运行程序时出现此错误,然后出现此错误。终于修好了 -

面向 Java 开发人员的 Eclipse IDE,版本:2019-12 (4.14.0),内部版本 ID:20191212-1212。 测试NG 7.1.0.r202001120626

从包含测试的项目的构建路径中删除 TestNG 库并从菜单帮助/安装新软件安装 TestNG 对我不起作用,我一直收到此错误。

对我有用的是下载 guice-4.2.2.jar(来自 https://github.com/google/guice/wiki/Guice422),将其复制到任何文件夹中,并将其作为外部 JAR 添加到项目的构建路径中。

在 Eclipse 中,转到帮助 > 安装软件,或者您也可以从市场安装(帮助 > 市场)。从市场安装 TestNG 后,它可以正常工作,但是将 GUICE422.jar 安装到构建路径对我有用 因此,请确保在从市场安装 TestNG 后,还要安装 Guice422 Jar 文件link to install testng from eclipse market place

这对我有用 --- 希望有帮助

【讨论】:

    猜你喜欢
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    • 2021-12-31
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多