我正在尝试使用maven.jetty和HtmlUnit来测试一个用JPA2.0JSF编写的webapp。我对如何正确地做这件事感到困惑。例如,根据我使用的maven-jetty-plugin
版本,我得到了截然不同的结果:
6.1.x:测试时出错,无法解析基本JSF...
Running xxx.xxx.my.functional.HtmlUnitTest
2011-06-03 19:41:54.741:WARN::/project1/index.html
javax.faces.view.facelets.TagAttributeException: /index.xhtml
@37,60 value="#{item.availability.toString()}" Error Parsing:
#{item.availability.toString()}
7.0.0.pre5 (或really,实际上):假设启动,然后静默挂起(我必须杀死它)。
[INFO] Starting jetty 7.0.0.pre5 ...
2011-06-03 19:50:59.035::INFO: jetty-7.0.0.pre5
2011-06-03 19:51:18.381::INFO: No Transaction manager found - if your webapp requires one, please configure one.
2011-06-03 19:51:20 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra 2.1.0 (FCS 20110303) for context '/projekt1'
2011-06-03 19:51:21 com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp
INFO: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container.
2011-06-03 19:51:21.389::INFO: Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
任何建议都是受欢迎的,因为微不足道的“测试”(Assert.assertTrue(true)
,即没有任何真正的测试)会在测试成功后通过并停止jetty。
发布于 2011-12-01 16:24:44
我只是想让您知道,如果您试图在tomcat或Jetty下运行Mojarra (JSF) 2.1.0,那么它是不兼容的。请参阅此链接Mojarra Known Issues。“此版本的Mojarra在Apache Tomcat或Jetty中不起作用。Tomcat和Jetty支持将在未来的版本中恢复。已知它在Oracle WebLogic和Oracle GlassFish中起作用。”
Mojarra 2.1.1+修复了这个问题,尽管它声称仍然没有解决。我目前在tomcat 6.0.33上运行mojarra 2.1.4 (目前是12/1/11)。有关mojarra修复的一些详细信息,请参阅BalusC的此post。
此外,我认为你收到的上下文信息警告是因为你的web.xml中的JSF1027参数:
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value></context-param>
我在我的web.xml中将其注释掉,然后就不再使用JSF1027 (用于ELResolvers的JSF没有注册到JSP容器)。错误;并且EL仍然在我的JSF页面上解析。:)
https://stackoverflow.com/questions/6230817
复制相似问题