vertx NoClassDefFoundError: io/netty/channel/EventLoopGroup

vertx NoClassDefFoundError: io/netty/channel/EventLoopGroup

这可能是一个愚蠢的问题,但是除了 vertx-core jar 之外还需要引用哪个 jar 才能 运行 一个简单的 verticle 示例。我有这样的代码:

package examples.vertx;
import io.vertx.core.Vertx;  
public class VertxApp {

    public static void main(String[] args) {

        Vertx vertx = Vertx.vertx();

        vertx.deployVerticle(new MyVerticle("name1"), stringAsyncResult -> {
            System.out.println("MyVerticle deployed");
        });
    }
}

package examples.vertx; 
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Future;   
public class MyVerticle extends AbstractVerticle {

    private String name = null;

    public MyVerticle(String name) {
        this.name = name;
    }

    @Override
    public void start(Future<Void> startFuture) {
        System.out.println("MyVerticle started!");

        vertx.eventBus().consumer("test", message -> {
            System.out.println(this.name + " received message: " + message.body());
        });
    }

    @Override
    public void stop(Future stopFuture) throws Exception {
        System.out.println("MyVerticle stopped!");
    }
}

并搜索了 vertx 文档,但看不到除了 vertx-core jar 之外我应该引用哪个 jar。当我 运行 代码时出现错误:

Exception in thread "main" java.lang.NoClassDefFoundError: io/netty/channel/EventLoopGroup
    at io.vertx.core.impl.VertxFactoryImpl.vertx(VertxFactoryImpl.java:34)
    at io.vertx.core.Vertx.vertx(Vertx.java:78)
    at examples.vertx.VertxApp.main(VertxApp.java:9)
Caused by: java.lang.ClassNotFoundException: io.netty.channel.EventLoopGroup
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

谢谢!我需要 netty 缓冲区、通用和传输罐