2015-09-26 3 views
0

Я пытаюсь протестировать проект JSF 2.2 с BootsFaces 0.7. Проект работает как шарм на GlassFish 3 и PrimeFaces 5.2. Но на странице, где любой тег используется из BootsFaces libraray, как <b:well>, я получаю следующее исключение:javax.faces.FacesException: Expression Error: Именованный объект: net.bootsfaces.layout.Well не найден

javax.faces.FacesException: Expression Error: Named Object: net.bootsfaces.layout.Well not found

Как это вызвало и как я могу решить эту проблему?

+0

Не могли бы вы перевести сообщения об ошибках? –

+0

объект с именем "net.bootsfaces.layout.Well" не обнаружен –

+0

У вас есть 'metadata-complete =" true "' в webapp 'web.xml'? Что касается локализованных ошибок, пожалуйста, измените среду разработки на английский. Когда copypasting английское сообщение об ошибке в поисковой системе, вы получите гораздо больше подсказок. – BalusC

ответ

0

Thanks to this answer, я, наконец, нашел решение моей проблемы: Мне пришлось поместить файл jar файла boots в каталог /WEB-INF/lib. Я никогда не устану это говорить: Большое спасибо BalusC

+0

Упс - он просто сделал «Перейдя к моему мнению, вы можете попробовать без BootsFaces.jar в папке/WEB-INF/lib :). Я добавлю это в список стандартных средств защиты. Спасибо за сообщение! –

+0

Но все еще странно для меня, потому что у меня всегда были стили и в прошлом richfaces в/domain/lib, а не/WEB-INF/lib, и все было отлично. Что изменилось с помощью этой библиотеки bootsfaces? – Hicham

+0

А, я вижу. Я всегда использую Tomcat, поэтому я не знал о папке/domain/lib. Фактически, нет никакой технической разницы между тем, как инициализируются PrimeFaces и BootsFaces (по крайней мере, никакой разницы, о которой я знаю). Возможно, ответ очень прост: большинство серверов приложений загружают свои библиотеки в алфавитном порядке. Так BootsFaces загружается до Mojarra или MyFaces, который загружается до PrimeFaces и RichFaces. Но это просто дикий выстрел. Теперь, когда я знаю, что вы используете Glassfish, мы можем проверить совместимость BootsFaces с Glassfish. Спасибо за подсказку! –

1

Обновление от 05 октября 2015 г.: Если вы используете Spring Boot и Mojarra, вернитесь к Mojarra 2.2.10. Более новые версии сломаны, и они останутся сломанными до тех пор, пока не будет восстановлен билет загрузки https://github.com/spring-projects/spring-boot/issues/3216. В качестве альтернативы вы можете попробовать Apache MyFaces, как описано в http://www.beyondjava.net/blog/newsflash-running-example-of-spring-boot-jsf/.

Сообщение об ошибке означает, что класс net.bootsfaces.layout.Well не может быть создан. Вы не дали остальную трассировку стека, но, скорее всего, ошибка возникает в методе newThing(). Это странно, потому что JSF уже выяснил, что b:well реализован net.bootsfaces.layout.Well. Другими словами: JSF удалось прочитать файл конфигурации, но не смог создать объект. Мое лучшее предположение - это что-то не так с вашим классом классов, или что у вас поврежден BootsFaces.jar.

Я предлагаю вам попробовать выполнить линию new net.bootsfaces.layout.Well() для теста. Если моя теория верна, она должна привести к ClassNotFoundException.

Другая возможность - это среда выполнения. Вы используете Spring Boot? Эта теория была высказана бразильским разработчиком. Возможно, это вызывает ошибку.

В то же время на нашем трекере ошибок есть два билета: https://github.com/TheCoder4eu/BootsFaces-OSP/issues/188 и https://github.com/TheCoder4eu/BootsFaces-OSP/issues/189.

+0

Благодарим вас за предложение. новый net.bootsfaces.layout.Well() не выбрасывал исключение, а первая часть трассировки стека: Могила: JSF1068: Невозможный денстец un composant dont le type est net.bootsfaces.layout.Well Могила: критическое исключение! javax.faces.FacesException: ERREUR d'выражение: Objet Нымме «net.bootsfaces.layout.Well» не détecté \t в com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations (ApplicationImpl.java:1912) \t на ком .sun.faces.application.ApplicationImpl.createComponent (ApplicationImpl.java:1166) – Hicham

+0

Это означает, что newThing() был вызван, но возвращает null. Бон, c'est vrai, c'est un error grave. На данный момент я озадачен. Что произойдет, если вы попробуете один из моих демонстрационных проектов на странице https://github.com/stephanrauh/BootsFaces-Examples? Например, https://github.com/stephanrauh/BootsFaces-Examples/tree/master/ModalDialogs? –

+0

Возможно, ошибка вызвана вашей средой выполнения - возможно, Spring Boot? –

Смежные вопросы