Jboss seam2.0.0.GA and myfaces1.2 java.lang.IllegalStateException: No Factories configured for this Application.

2007年12月14日

2007-12-14 14:23:05 org.apache.catalina.core.ApplicationContext log
严重: StandardWrapper.Throwable
java.lang.IllegalStateException: No Factories configured for this Application.
This happens if the faces-initialization does not work at all - make sure that you properly
include all configuration settings necessary for a basic faces application and that all the
necessary libs are included. Also check the logging output of your web application and your
container for any exceptions!
If you did that and find nothing, the mistake might be due to the fact that you use some special
web-containers which do not support registering context-listeners via TLD files and a context
listener is not setup in your web.xml.
A typical config looks like this;
<listener>
  <listener-class>org.apache.myfaces.webapp.

StartupServletContextListener</listener-class>
</listener>
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:90)
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:88)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2007-12-14 14:23:05 org.apache.catalina.core.StandardContext loadOnStartup


问题出在jsp-2.1.jar上,根据搜索我得出的结论是myfaces1.2跟seam2.0.0.GA不兼容,myfaces1.2不支持统一的EL导致


参考
http://www.mail-archive.com/users@myfaces.apache.org/msg42935.html
http://java.sun.com/javaee/javaserverfaces/docs/ReleaseNotes.html
http://forum.java.sun.com/thread.jspa?threadID=694101&messageID=9678276
http://www.jboss.org/?module=bb&op=viewtopic&t=101545
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4101012#4101012
http://blog.livedoor.jp/matusoft/archives/cat_50009447.html
http://wiki.apache.org/myfaces/SEAM_Integration
seam/2.0.0.GA/reference/

Unable to instantiate ExpressionFactory 'com.sun.el.ExpressionFactoryImpl'

2007年12月14日

严重: Unable to instantiate ExpressionFactory 'com.sun.el.ExpressionFactoryImpl'
2007-12-13 15:00:08 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class

com.sun.faces.config.ConfigureListener
java.lang.IllegalStateException: No application context active
    at org.jboss.seam.Component.forName(Component.java:1799)
    at org.jboss.seam.Component.getInstance(Component.java:1849)
    at org.jboss.seam.Component.getInstance(Component.java:1844)
    at org.jboss.seam.Component.getInstance(Component.java:1821)
    at org.jboss.seam.Component.getInstance(Component.java:1816)
    at org.jboss.seam.core.ResourceLoader.instance(ResourceLoader.java:97)

此错误是因为缺少 el-ri-1.0.jar 包导致