本文介绍通过Eclipse+maven构建简单的maven项目来测试Vert.x-web小程序
一、构建maven项目,配置pom.xml
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-web</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.7.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.6</version>
</dependency>
需要注意的是jdk编译级别要设置到1.8:
二、书写简单代码,继承AbstractVerticle类
import io.vertx.core.AbstractVerticle;
public class Server extends AbstractVerticle {
public void start() {
vertx.createHttpServer().requestHandler(req -> {
req.response()
.putHeader("content-type", "text/plain")
.end("Hello from Vert.x!");
}).listen(8080);
}
}
代码比较简单,和nodejs一样,通过express构建一个httpserver,然后设置监听端口。
这是官网的例子,因为测试所以不用修改
三、发布和测试
介绍两种简单的发布测试方法
a):新建一个带main函数的类,书写如下代码,并Run As->Java Application即可。
public class App {
public static void main(String[] args) {
Vertx vertx = Vertx.vertx();
DeploymentOptions options = new DeploymentOptions().setConfig(new JsonObject().put("http.port", 8080));
vertx.deployVerticle("com.lenovo.webserver.Server", options);
}
}
b):需要本机下载Vert.x安装包,直接解压,把bin目录加入到path环境变量。然后可以直接进入类目录运行以下命令:vertx run Server.java
vertx run Server.java
测试结果截图:
补充
第一步提到的maven依赖jar包已经是最精简的,如果只有vertx-web,虽然代码编译不会出错,但是通过Run As ->Java Application运行时会报出这样的错误(缺少netty包)。
另外一个错误(缺少jackson-databind包):