【发布时间】:2021-12-25 19:51:57
【问题描述】:
我正在使用 JAR 文件 Java-WebSocket-1.5.2.jar 并按照他们的 example 进行操作,我正在使用 Intellij Idea-ce,但出现错误:
/usr/lib/jvm/java-17-openjdk/bin/java -javaagent:/opt/intellij-idea-ce/lib/idea_rt.jar=35201:/opt/intellij-idea-ce/bin -Dfile.encoding=UTF-8 -classpath /home/root/my/Project/out/production/Project:/tmp/Java-WebSocket-1.5.2.jar SimpleServer
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.java_websocket.AbstractWebSocket.<init>(AbstractWebSocket.java:50)
at org.java_websocket.server.WebSocketServer.<init>(WebSocketServer.java:208)
at org.java_websocket.server.WebSocketServer.<init>(WebSocketServer.java:181)
at org.java_websocket.server.WebSocketServer.<init>(WebSocketServer.java:149)
at SimpleServer.<init>(SimpleServer.java:10)
at SimpleServer.main(SimpleServer.java:49)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 6 more
由于代码完全来自他们的示例,这让我相信它与我的项目设置有关。我尝试研究这些错误,每个人都说只需将 JAR 添加到项目管理下的模块中,JAR 文件就在那里。从第一个错误开始,JAR 文件确实在 -classpath 编译命令中,所以我不确定为什么会得到这个。
如果有人知道为什么会发生这种情况,我们将不胜感激。如果我有 JAR 文件,我完全迷失了,不想与 Maven 打交道。
感谢您的帮助。
【问题讨论】:
-
您提供的示例中没有对 slf4jin 的引用。共享整个项目源代码,包括 .idea 目录
-
@KonstantinAnnikov 感谢您提出这一点。现在看起来很明显。我将 slf4jin jar 添加到我的项目中,它现在可以工作了。感谢您的帮助。
标签: java intellij-idea jar classnotfoundexception noclassdeffounderror