我为一个简单的 Java undertow HTTP 服务器设置了以下项目文件夹:
- HelloWorldServer.java
- build
- lib
我将 XNIO 和 JBOSS-Logging 下载到 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编译器在构建目录中生成类文件。所以你需要像这样运行:
java -cp "build/:lib/*" HelloWorldServer
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句