我使用jsf 1.2开发了一个应用程序。它与apache tomcat 6一起工作正常。我使用websphere 7生成war文件并部署应用程序。我收到了以下错误。
E com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0100E: Uncaught init()
exception created by servlet Faces Servlet in application Products_war:
java.lang.IllegalStateException: Application was not properly initialized at startup,
could not find Factory: javax.faces.context.FacesContextFactory
我的classpath文件包含以下条目
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/
org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre6"/>
<classpathentry kind="con"
path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget
/Apache Tomcat v6.0"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
我在google搜索到现在之后做了以下尝试..
including following listener in web.xml
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
并从我的应用程序的lib文件夹中删除了jsf-api和jsf-impl,但无济于事。
PLZ帮助。
提前谢谢
答案 0 :(得分:1)
WAS 7已附带捆绑的JSF 1.2,它可以是“Sun RI”(Mojarra)或“MyFaces”(来自Apache)实现,可在WAS管理控制台中配置。您需要从/WEB-INF/lib
中删除JSF JAR文件,并且需要从web.xml
中删除侦听器。
答案 1 :(得分:0)
要检查的另一件事是:我们将myfaces配置为WebSphere上的共享库。在对本地配置进行故障排除时,我必须将共享库设置为“为此共享库使用隔离的类加载器”
这被确定为运行第三方JSF实施者的要求的一部分:
要注意:如果您想使用产品未附带的第三方JSF实施,那么:
如果第一个答案对他们不起作用,也许这会对某人有所帮助。