我正在尝试使用BootsFaces 0.7测试JSF 2.2项目。
该项目在GlassFish 3和PrimeFaces 5.2上运行起来就像一个魅力。
但是在BootsFaces图书馆使用任何标签的页面上,如<b:well>
,我得到以下异常:
javax.faces.FacesException:Expression Error:Named Object:net.bootsfaces.layout.Well not found
这是如何引起的?如何解决?
答案 0 :(得分:2)
Thanks to this answer ,我终于找到了解决问题的方法:
我不得不把靴子面对jar文件放在/WEB-INF/lib
目录中。
我永远不会厌倦这样说:非常感谢BalusC
答案 1 :(得分:1)
更新2015年10月5日: 如果你碰巧使用Spring Boot和Mojarra,请回到Mojarra 2.2.10。较新的版本已损坏,在Spring Boot票证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。