[英]Java Guice with servlets Exception in thread “main” java.lang.NoClassDefFoundError: com/google/inject/internal/util/$Preconditions
[英]Exception in thread "main" java.lang.NoClassDefFoundError: com/google/inject/Module
新用户来了! 我知道有类似的问题可以回答这个问题,但我不知道如何将它们应用到我的案例中,如果它是重复的,很抱歉!
所以......我正在尝试为 Telegram 制作我的第一个机器人,我决定使用 Java。 我正在关注本教程并复制粘贴了两个示例类(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 at org.telegram.telegrambots.ApiContext.getInjector(ApiContext.java:46) at org.telegram.telegrambots.ApiContext.getInstance(ApiContext.java :25) at org.telegram.telegrambots.bots.TelegramLongPollingBot.(TelegramLongPollingBot.java:17) at Pearlbot.EchoBot.(EchoBot.java:8) at Pearlbot.Main.main(Main.java:17) 原因:java .lang.ClassNotFoundException: com.google.inject.Module at 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 是什么,所以如果它与它相关,你需要解释什么是错的,就像你在和一个孩子说话一样! ^^''
当我尝试为 eclipse 版本安装 testng 时出现此错误:2019-12 (4.14.0) 并运行该程序,然后出现此错误。 最后我得到了修复 -
面向 Java 开发人员的 Eclipse IDE,版本:2019-12 (4.14.0),构建 ID:20191212-1212。 TestNG 7.1.0.r202001120626
从包含测试的项目的构建路径中删除 TestNG 库并从菜单帮助 / 安装新软件中安装 TestNG 对我不起作用,我一直收到此错误。
对我有用的是下载 guice-4.2.2.jar(来自https://github.com/google/guice/wiki/Guice422 ),将其复制到任何文件夹中,并将其添加到项目的构建路径中作为外部罐。
从 Eclipse,转到帮助 > 安装软件,或者您也可以从市场安装(帮助 > 市场)。 从市场安装TestNG后,它可以工作,但是将GUICE422.jar安装到构建路径对我有用所以请确保在从市场安装TestNG后,安装Guice422 Jar文件以及从eclipse市场安装testng的链接
这对我有用---希望它有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.