I have a simple server App like so:
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Future;
import io.vertx.core.Promise;
import io.vertx.core.Vertx;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.HttpServerOptions;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.openapi.RouterBuilder;
import io.vertx.serviceproxy.ServiceBinder;
public class App {
private static String SERVER_OPT = "--server-opt";
public static void main(String[] args) {
// Testing
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(new ServerApp());
}
}
public class ServerApp extends AbstractVerticle {
HttpServer server;
ServiceBinder serviceBinder;
private final int DEFAULT_PORT = 8080;
@Override
public void start(Promise<Void> promise) {
serviceBinder = new ServiceBinder(this.vertx);
// First we need to init the service binders that correspond with the application logic.
startServiceBinder();
}
private void startServiceBinder() {
TestService test = TestService.create(this.vertx);
serviceBinder
.setAddress(“a.test”)
.register(TestService.class, test);
}
}
Every time I try to start and run the App I am met with the following error message:
16:00:39.701 [main] ERROR vertx-stack-resolver -- Service creation failure: org/codehaus/plexus/util/xml/pull/XmlPullParserException
java.lang.NoClassDefFoundError: org/codehaus/plexus/util/xml/pull/XmlPullParserException
at org.apache.maven.model.building.DefaultModelBuilderFactory.newModelReader(DefaultModelBuilderFactory.java:94)
at org.apache.maven.model.building.DefaultModelBuilderFactory.newModelProcessor(DefaultModelBuilderFactory.java:83)
at org.apache.maven.model.building.DefaultModelBuilderFactory.newInstance(DefaultModelBuilderFactory.java:211)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.initService(DefaultArtifactDescriptorReader.java:135)
at org.eclipse.aether.impl.DefaultServiceLocator$Entry.newInstance(DefaultServiceLocator.java:171)
at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstances(DefaultServiceLocator.java:141)
at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstance(DefaultServiceLocator.java:127)
at org.eclipse.aether.impl.DefaultServiceLocator.getService(DefaultServiceLocator.java:291)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.initService(DefaultRepositorySystem.java:143)
at org.eclipse.aether.impl.DefaultServiceLocator$Entry.newInstance(DefaultServiceLocator.java:171)
at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstances(DefaultServiceLocator.java:141)
at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstance(DefaultServiceLocator.java:127)
at org.eclipse.aether.impl.DefaultServiceLocator.getService(DefaultServiceLocator.java:291)
at io.vertx.maven.resolver.ResolverImpl.<init>(ResolverImpl.java:88)
at io.vertx.maven.Resolver.create(Resolver.java:58)
at io.vertx.maven.MavenVerticleFactory.<init>(MavenVerticleFactory.java:71)
at io.vertx.maven.MavenVerticleFactory.<init>(MavenVerticleFactory.java:54)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:729)
at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1403)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at io.vertx.core.ServiceHelper.loadFactories(ServiceHelper.java:58)
at io.vertx.core.ServiceHelper.loadFactories(ServiceHelper.java:44)
at io.vertx.core.impl.VerticleManager.loadVerticleFactories(VerticleManager.java:48)
at io.vertx.core.impl.VerticleManager.<init>(VerticleManager.java:44)
at io.vertx.core.impl.VertxImpl.<init>(VertxImpl.java:231)
at io.vertx.core.impl.VertxBuilder.vertx(VertxBuilder.java:229)
at io.vertx.core.Vertx$1.build(Vertx.java:126)
at io.vertx.core.Vertx.vertx(Vertx.java:151)
at io.vertx.core.Vertx.vertx(Vertx.java:141)
at com.a.b.c.d.App.main(App.java:18)
Here are the relevant portion of the overall build.gradle
:
implementation libs.vertx.stack.depchain
implementation libs.vertx.web.api.service
implementation libs.vertx.core
implementation libs.vertx.openapi
implementation libs.vertx.service.proxy
implementation libs.vertx.web
annotationProcessor libs.vertx.web.api.service
// This one is here because not sure how to get :processor to work in the libs.
annotationProcessor 'io.vertx:vertx-codegen:4.5.12:processor'
With the version for all of the libs being 4.5.12
. I tried including the library that was mentioned in the error message but the message still remained. Am wondering what might be the source of this error and how I could bypass/resolve it.