Mattias
Mattias

Reputation: 1110

Vertx trying to launch embedded server

I am trying to launch an initial test of a Vertx.io server, but I get the following error message:

Exception in thread "main" java.lang.NoClassDefFoundError: org/vertx/java/core/Handler

Code:

package com.company;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.vertx.java.core.Handler;
import org.vertx.java.core.Vertx;
import org.vertx.java.core.VertxFactory;
import org.vertx.java.core.http.HttpServerRequest;

import java.io.IOException;

public class Main {
    private static final Logger log = LoggerFactory.getLogger(Main.class);
    private Object shutdownLock = new Object();

    public Main() throws IOException, InterruptedException {
        start(1234);
        keepServerFromShuttingDown();
    }

    private void keepServerFromShuttingDown() throws InterruptedException {
        synchronized (shutdownLock) {
            shutdownLock.wait();
        }
        log.info("Shutting down");
    }

    public void start(int port) {
        Vertx vertx = VertxFactory.newVertx();

        vertx.createHttpServer().requestHandler(new Handler<HttpServerRequest>() {

            @Override
            public void handle(HttpServerRequest request) {
            }
        }).listen(port);
    }

    public static void main(String[] args) throws IOException, InterruptedException {
        new Main();
    }
}

pom.xml:

<dependencies>
    <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>2.1.2</version>
    </dependency>
    <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-platform</artifactId>
        <version>2.1.2</version>
    </dependency>
    <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-hazelcast</artifactId>
        <version>2.1.2</version>
    </dependency>
</dependencies>

Upvotes: 0

Views: 504

Answers (1)

Agraj
Agraj

Reputation: 474

It looks like a basic CLASSPATH issue where it is not able to find Vertx classes while executing your program. Please check if the vertx libraries are indeed a part of your CLASSPATH.

Though unrelated, but if you are checking out Vertx for some new projects, I highly recommend version 3.0 and you could start with this simple maven project example

Upvotes: 1

Related Questions