Заголовок: `NoClassDefFoundError: jakarta/enterprise/inject/spi/el/ELAwareBeanManager` после перехода на Java 17, SpringJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Заголовок: `NoClassDefFoundError: jakarta/enterprise/inject/spi/el/ELAwareBeanManager` после перехода на Java 17, Spring

Сообщение Anonymous »

В настоящее время я переношу проект с Java 11 на Java 17, с Spring 5 на Spring 6 и с RichFaces на PrimeFaces 14 (Джакарта). После внесения необходимых изменений я столкнулся со следующим исключением:

Код: Выделить всё

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
pom.xml
:

Код: Выделить всё





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 включены в
pom.xml
.
2. Убедилось, что зависимость Weld-Servlet-Shaded присутствует.
3. Добавлена ​​зависимость jakarta.jakartaee-api с предоставленной областью.
Вопрос:
Что может быть причиной этой ошибки NoClassDefFoundError? и как я могу это решить? Требуются ли какие-либо дополнительные зависимости или настройки при переходе на Java 17, Spring 6 и PrimeFaces 14 (Джакарта)?
Будем очень благодарны за любую помощь или подсказки!

Подробнее здесь: https://stackoverflow.com/questions/791 ... beanmanage
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»