Search code examples
dockerfilevert.xdockerfile-maven-plugin

Problem with deploying vertx app through dockers


I'm following this github project and for some reason when I run the application I get the error below:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
java.lang.NoSuchMethodError: io.vertx.core.http.HttpServer.listen(I)Lio/vertx/core/Future;
    at io.vertx.example.HelloWorldVerticle.start(HelloWorldVerticle.java:10)
    at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:108)
    at io.vertx.core.Verticle.start(Verticle.java:66)
    at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$9(DeploymentManager.java:552)
    at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
    at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)
Failed in deploying verticle
java.lang.NoSuchMethodError: io.vertx.core.http.HttpServer.listen(I)Lio/vertx/core/Future;
    at io.vertx.example.HelloWorldVerticle.start(HelloWorldVerticle.java:10)
    at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:108)
    at io.vertx.core.Verticle.start(Verticle.java:66)
    at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$9(DeploymentManager.java:552)
    at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
    at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)

java.lang.NoSuchMethodError: io.vertx.core.http.HttpServer.listen(I)Lio/vertx/core/Future;
    at io.vertx.example.HelloWorldVerticle.start(HelloWorldVerticle.java:10)
    at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:108)
    at io.vertx.core.Verticle.start(Verticle.java:66)
    at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$9(DeploymentManager.java:552)
    at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:366)
    at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)

I see in the pom.xml the vertx.core is being loaded but when I deploy to docker hub using this command: docker run -p 8080:8080 -i -t vertx/vertx3-example the error occurs. Does anyone have any ideas on how to remedy this issue?


Solution

  • update first line of Dockerfile to

    FROM vertx/vertx4

    from

    FROM vertx/vertx3