【发布时间】:2022-01-07 07:08:23
【问题描述】:
我正在尝试让 Undertow 在 Java 应用程序中工作,但我遇到了一些依赖关系问题。一切正常,但每次我尝试运行时都会出现以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: org/xnio/ChannelListener
我没有使用 maven,但我从 Undertow 站点的链接下载了以下 Undertow jar。
undertow-core-2.2.13.Final.jar
undertow-servlet-2.2.13.Final.jar
undertow-websockets-jsr-2.2.13.Final.jar
代码与 Undertow 网站上给出的示例几乎相同,我找不到太多关于特定依赖项的提及。我确定我错过了什么
import java.util.*;
import java.io.*;
import io.undertow.*;
import io.undertow.server.*;
import io.undertow.util.*;
public class TestingUndertow {
public static void main(String[] args) {
Undertow server = (
Undertow
.builder()
.addHttpListener(31, "0.0.0.0")
.setHandler(new HttpHandler() {
public void handleRequest(final HttpServerExchange exchange) throws Exception {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Nothing");
}
})
.build()
);
server.start();
}
}
【问题讨论】:
-
Undertow documentation 说 “Undertow 依赖于 XNIO 和 JBoss Logging,它们也需要下载。” 那么,您是否下载并包含了这些在你的类路径中?
-
不,我完全错过了,我现在会尝试添加这些
-
@FedericoklezCulloca 谢谢你让我更接近了!
标签: java dependencies undertow