新用户在这里! 我知道也有类似的问题可以解决,但我不知道如何将其应用于我的案子,如果是重复的,请您谅解!
所以...我正在尝试为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) 在pearlbot.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是什么,因此,如果它与Maven有关,则需要像在跟孩子说话一样,解释问题所在! ^^''
答案 0 :(得分:1)
当我尝试为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),将其复制到任何文件夹中,并将其作为外部JAR添加到项目的构建路径中。
在Eclipse中,转到“帮助”>“安装软件”,或者也可以从市场进行安装(“帮助”>“市场”)。从市场上安装了TestNG之后,它就可以工作了,但是将GUICE422.jar安装到构建路径上对我有用 因此,请确保从市场上安装TestNG之后,还要安装Guice422 Jar文件link to install testng from eclipse market place
这对我有用---希望对您有帮助