Often I get a java.lang.LinkageError exception as my application starts. More detailed exception is as follows:
com.google.inject.ProvisionException: Guice provision errors:
1) Error injecting constructor, java.lang.LinkageError: loader constraint violation: when resolving method "my.module.impl.BaseVerticle.<init>(Lcom/google/inject/Injector;)V" the class loader (instance of org/vertx/java/platform/impl/ModuleClassLoader) of the current class, my/module/module/impl/RESTVerticle, and the class loader (instance of org/vertx/java/platform/impl/ModuleClassLoader) for resolved class, my/module/impl/BaseVerticle, have different Class objects for the type cle.<init>(Lcom/google/inject/Injector;)V used in the signature
at my.rest.module.impl.RESTVerticle.<init>(Unknown Source)
while locating my/rest.module.impl.RESTVerticle
1 error
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
at com.englishtown.vertx.guice.GuiceVerticleLoader.createRealVerticle(GuiceVerticleLoader.java:140)
at com.englishtown.vertx.guice.GuiceVerticleLoader.createRealVerticle(GuiceVerticleLoader.java:103)
at com.englishtown.vertx.guice.GuiceVerticleLoader.start(GuiceVerticleLoader.java:66)
at org.vertx.java.platform.impl.DefaultPlatformManager$21.run(DefaultPlatformManager.java:1743)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
The exception is thrown not regularly and it is difficult to find a pattern. Any ideas to solve this problem?