Ошибка создания экземпляра:io.helidon.integrations.cdi.eclipselink.CDISEPlatformExtension
Я использую проект Maven в Eclipse для создания веб-сервисов. У меня проблема с контейнером Weld. Я добавил все зависимости, необходимые для helidon и weld, однако вpom.xml
, Я получаю сообщение об ошибке при выполнении первых двух строк кода (инициализация сварочного контейнера). Кроме того, я также используюjpa
а также EclipseLink
для подключения к базе данных sql, и соединение успешно. Однако мне нужно использовать базу данных через веб-службы, и я столкнулся с проблемой в этой части. Вот операторы импорта для инициации соединения с сервером:
import io.helidon.config.Config;
import io.helidon.microprofile.config.MpConfig;
import io.helidon.microprofile.server.Server;
import org.jboss.weld.environment.se.Weld;
import org.jboss.weld.environment.se.WeldContainer;
Вот основная функция:
public static void main(String[] args) {
// Used for dependency injection
Weld weld = new Weld();
WeldContainer cdiContainer = weld.initialize();
Server server = Server.builder()
.addApplication(Hello.class)
.cdiContainer(cdiContainer)
// using a customized helidon config instance (in this case the default...)
.config(MpConfig.builder().config(Config.create()).build())
.host("localhost")
// use 0 for a random free port
.port(9090)
.build();
server.start();
String endpoint = "http://" + server.host() + ":" + server.port();
System.out.println("Hello " + endpoint + "/hello");
}
И вот ошибка, которую я получил:
Oct 19, 2019 2:38:21 PM org.jboss.weld.bootstrap.WeldStartup <clinit>
INFO: WELD-000900: 3.1.1 (Final)
Exception in thread "main" java.util.ServiceConfigurationError: Error instantiating :io.helidon.integrations.cdi.eclipselink.CDISEPlatformExtension
at org.jboss.weld.util.ServiceLoader.createInstance(ServiceLoader.java:315)
at org.jboss.weld.util.ServiceLoader.prepareInstance(ServiceLoader.java:247)
at org.jboss.weld.util.ServiceLoader.loadService(ServiceLoader.java:215)
at org.jboss.weld.util.ServiceLoader.loadServiceFile(ServiceLoader.java:185)
at org.jboss.weld.util.ServiceLoader.reload(ServiceLoader.java:165)
at org.jboss.weld.util.ServiceLoader.iterator(ServiceLoader.java:289)
at org.jboss.weld.util.collections.Iterables.addAll(Iterables.java:45)
at org.jboss.weld.environment.se.Weld.getExtensions(Weld.java:1047)
at org.jboss.weld.environment.se.Weld.createDeployment(Weld.java:936)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:777)
at main.ServerMain.main(ServerMain.java:15)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jboss.weld.util.ServiceLoader.createInstance(ServiceLoader.java:313)
... 10 more
Caused by: java.lang.NoClassDefFoundError: org/eclipse/persistence/platform/server/ServerPlatformUtils
at io.helidon.integrations.cdi.eclipselink.CDISEPlatformExtension.<init>(CDISEPlatformExtension.java:56)
... 15 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.persistence.platform.server.ServerPlatformUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 16 more