如何使用命令行编译和启动 Java undertow HTTP 服务器
how to compile and start a Java undertow HTTP server using command line
我为一个简单的 Java undertow HTTP 服务器设置了以下项目文件夹:
- HelloWorldServer.java
- build
- lib
我下载了 XNIO 和 JBOSS- 登录到 lib。我通过让 Gradle 下载依赖项来确保我下载了正确的发行版。但我试图通过手动 运行 了解更多信息,所以我将 jar 文件复制到 lib 文件夹中。
我的 HelloWorldServer.java
看起来像这样:
import io.undertow.Undertow;
import io.undertow.util.*;
public class HelloWorldServer {
public static void main(final String[] args) {
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(exchange -> {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Hello World");
}).build();
server.start();
}
}
然后我转到我的文件夹根目录并运行执行以下命令:
javac -cp "lib/*" -d build HelloWorldServer.java
现在我已经编译了应用程序,如何从终端运行它?
编辑:我的lib
目录的内容如下:
hamcrest-core-1.3.jar // i believe thats not needed, but leave it anyway
jboss-logging-3.2.1.Final.jar
undertow-core-2.0.0.Alpha1.jar
xnio-api-3.3.6.Final.jar
xnio-nio-3.3.6.Final.jar
由于使用 -d 标志,您要求 java 编译器在构建 directory.So 中生成 class 文件,您需要像这样 运行 :
java -cp "build/:lib/*" HelloWorldServer
我为一个简单的 Java undertow HTTP 服务器设置了以下项目文件夹:
- HelloWorldServer.java
- build
- lib
我下载了 XNIO 和 JBOSS- 登录到 lib。我通过让 Gradle 下载依赖项来确保我下载了正确的发行版。但我试图通过手动 运行 了解更多信息,所以我将 jar 文件复制到 lib 文件夹中。
我的 HelloWorldServer.java
看起来像这样:
import io.undertow.Undertow;
import io.undertow.util.*;
public class HelloWorldServer {
public static void main(final String[] args) {
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(exchange -> {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Hello World");
}).build();
server.start();
}
}
然后我转到我的文件夹根目录并运行执行以下命令:
javac -cp "lib/*" -d build HelloWorldServer.java
现在我已经编译了应用程序,如何从终端运行它?
编辑:我的lib
目录的内容如下:
hamcrest-core-1.3.jar // i believe thats not needed, but leave it anyway
jboss-logging-3.2.1.Final.jar
undertow-core-2.0.0.Alpha1.jar
xnio-api-3.3.6.Final.jar
xnio-nio-3.3.6.Final.jar
由于使用 -d 标志,您要求 java 编译器在构建 directory.So 中生成 class 文件,您需要像这样 运行 :
java -cp "build/:lib/*" HelloWorldServer