Код: Выделить всё
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.service-ui.util.FacesUtil.getRequestParameter(FacesUtil.java:28)
at com.service-ui.ui.beans.EntityBean.init(EntityBean.java:76)
...
- Версия Java: 17
- Весенняя версия: 6
- Версия PrimeFaces: 14 (Джакарта)
- Инструмент сборки: Maven
:
Код: Выделить всё
jakarta.enterprise
jakarta.enterprise.cdi-api
4.1.0
provided
jakarta.faces
jakarta.faces-api
4.1.1
provided
jakarta.servlet
jakarta.servlet-api
6.1.0
provided
jakarta.annotation
jakarta.annotation-api
3.0.0
provided
jakarta.el
jakarta.el-api
5.0.1
provided
org.jboss.weld.servlet
weld-servlet-shaded
5.1.3.Final
jakarta.platform
jakarta.jakartaee-api
11.0.0-M4
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