javax.faces.FacesException:表达式错误:命名对象:net.bootsfaces.layout.Well not found

时间:2015-09-26 16:17:54

标签: jsf bootsfaces

我正在尝试使用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

这是如何引起的?如何解决?

2 个答案:

答案 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:wellnet.bootsfaces.layout.Well实现。换句话说:JSF设法读取配置文件,但无法创建对象。我最好的猜测是你的类路径有问题,或者你有一个腐败的BootsFaces.jar。

我建议你尝试执行new net.bootsfaces.layout.Well()行进行测试。如果我的理论是正确的,那么它应该导致ClassNotFoundException

另一种可能性是您的运行时环境。你使用Spring Boot吗?这个理论已经被一位巴西开发商所说。也许这会导致错误。

与此同时,我们的错误跟踪器有两张票:https://github.com/TheCoder4eu/BootsFaces-OSP/issues/188https://github.com/TheCoder4eu/BootsFaces-OSP/issues/189