2015-09-26 28 views
0

我想用BootsFaces 0.7测试一个JSF 2.2项目。 该项目像GlassFish 3和PrimeFaces 5.2上的魅力一样运行。 但页面,任何标签从BootsFaces libraray使用,像<b:well>上,我得到以下异常:javax.faces.FacesException:表达式错误:命名对象:net.bootsfaces.layout.Well找不到

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

这是怎么造成的,我该如何解决呢?

+0

您能否翻译错误信息? –

+0

未检测到名为“net.bootsfaces.layout.Well”的对象 –

+0

在webapp的web.xml中是否有'metadata-complete =“true”'?至于本地化错误,请将您的开发环境更改为英文。将英文错误信息复制到搜索引擎中时,您将获得更多线索。 – BalusC

回答

0

Thanks to this answer,我终于找到了我的问题的解决方案: 我不得不把靴子面临jar文件在/WEB-INF/lib目录。 我永远不会厌倦这样说:非常感谢BalusC

+0

糟糕 - 它只是没有我不介意你可能会在/ WEB-INF/lib文件夹中没有BootsFaces.jar的情况下尝试:)。我会将其添加到我的标准补救措施清单中。感谢您回报! –

+0

但对我来说仍然很奇怪,因为我始终都有primefaces,并且在/ domain/lib中过去使用了richfaces,而不是/ WEB-INF/lib,并且所有内容都运行良好。这个bootsfaces库改变了什么? – Hicham

+0

啊,我明白了。我总是使用Tomcat,所以我不知道/ domain/lib文件夹。实际上,PrimeFaces和BootsFaces的初始化方式没有技术上的区别(至少我没有意识到)。也许答案很简单:大多数应用程序服务器按字母顺序加载它们的库。所以BootsFaces在Mojarra或MyFaces之前加载,而PrimeFaces和RichFaces之前加载了MyFaces。但这只是一个狂野的镜头。现在我知道您使用的是Glassfish,我们可以测试BootsFaces与Glassfish的兼容性。感谢提示! –

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/188https://github.com/TheCoder4eu/BootsFaces-OSP/issues/189

+0

谢谢你的建议。新的net.bootsfaces.layout。那么()没有抛出任何异常,并且堆栈跟踪的第一部分是: 严重:JSF1068:不可能的文件类型est net.bootsfaces.layout.Well 严重:严重异常! javax.faces.FacesException:ERREUR D'表达:客体nommé«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。 Bon,c'est vrai,c'est un错误严重。此刻,我感到困惑。如果您在https://github.com/stephanrauh/BootsFaces-Examples尝试我的演示项目之一,会发生什么情况?例如,https://github.com/stephanrauh/BootsFaces-Examples/tree/master/ModalDialogs? –

+0

也许错误是由您的运行时环境引起的 - 可能是Spring Boot?伟大的文章,斯蒂芬! –

相关问题