Код: Выделить всё
Exception in thread "main" java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityBean': Invocation of init method failed
at com.leo.service-ui.Main.main(Main.java:27)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityBean': Invocation of init method failed
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1798)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:335)
at com.leo.service-ui.Main.main(Main.java:24)
Caused by: java.lang.NoClassDefFoundError: jakarta/enterprise/inject/spi/el/ELAwareBeanManager
at jakarta.faces.CurrentThreadToServletContext.getFactoryFinder(CurrentThreadToServletContext.java:52)
at jakarta.faces.FactoryFinder.getFactory(FactoryFinder.java:257)
at jakarta.faces.context.FacesContext.getCurrentInstance(FacesContext.java:872)
at com.leo.service-ui.util.FacesUtil.getRequestParameter(FacesUtil.java:28)
at com.leo.service-ui.ui.beans.EntityBean.init(EntityBean.java:76)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
... 16 more
Caused by: java.lang.ClassNotFoundException: jakarta.enterprise.inject.spi.el.ELAwareBeanManager
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 28 more
- Версия Java: 17
- Весенняя версия: 6
- Версия PrimeFaces: 14 (Джакарта)
- Инструмент сборки: Maven
:
Код: Выделить всё
org.primefaces
primefaces
14.0.6
jakarta
org.primefaces.extensions
primefaces-extensions
14.0.6
org.glassfish
jakarta.faces
4.1.1
jakarta.el
jakarta.el-api
6.0.1
org.jboss.weld.servlet
weld-servlet-shaded
5.1.3.Final
jakarta.enterprise
jakarta.enterprise.cdi-api
4.1.0
jakarta.platform
jakarta.jakartaee-api
10.0.0
provided
Вот соответствующий код, в котором возникает исключение:
Код: Выделить всё
public class FacesUtil {
public static String getRequestParameter(String paramName) {
FacesContext context = FacesContext.getCurrentInstance(); // Exception occurs here
Map params = context.getExternalContext().getRequestParameterMap();
return params.getOrDefault(paramName, null);
}
}
- Проверил, что все необходимые зависимости Jakarta EE включены в
.
2. Убедилось, что зависимость Weld-Servlet-Shaded присутствует.
3. Добавлена зависимость jakarta.jakartaee-api с предоставленной областью.
Вопрос:
Что может быть причиной этой ошибки NoClassDefFoundError? и как я могу это решить? Требуются ли какие-либо дополнительные зависимости или настройки при переходе на Java 17, Spring 6 и PrimeFaces 14 (Джакарта)?
Будем очень благодарны за любую помощь или подсказки!
Подробнее здесь: https://stackoverflow.com/questions/791 ... beanmanage