- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们是三个开发 JSF 项目的人,我们之前没有接触过 JSF。奇怪的是,从 SVN check out 相同的数据,其中一名团队成员每次使用 Tomcat 7.0.27 时都会收到 404 错误。
Tomcat(在Eclipse内部使用)启动时,会写出如下日志:
01.06.2012 11:45:16 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: ......
01.06.2012 11:45:16 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SnapManCloud' did not find a matching property.
01.06.2012 11:45:16 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
01.06.2012 11:45:16 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
01.06.2012 11:45:16 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 677 ms
01.06.2012 11:45:16 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
01.06.2012 11:45:16 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
01.06.2012 11:45:17 org.apache.catalina.core.StandardContext listenerStart
FATAL: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4638)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
01.06.2012 11:45:17 org.apache.catalina.core.StandardContext listenerStart
FATAL: Skipped installing application listeners due to previous error(s)
01.06.2012 11:45:17 org.apache.catalina.core.StandardContext startInternal
FATAL: Error listenerStart
01.06.2012 11:45:17 org.apache.catalina.core.StandardContext startInternal
FATAL: Context [/SnapManCloud] startup failed due to previous errors
01.06.2012 11:45:17 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
01.06.2012 11:45:17 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
01.06.2012 11:45:17 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1279 ms
我们使用 Mojarra 2.0.3 作为 JSF 实现,它已被 Eclipse 包含到项目中(并且可能包含在类路径中)。
确实在 web.xml
中有一个用于 com.sun.faces.config.ConfigureListener
的条目
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
有没有人知道从哪里寻找错误的起点?另外,如果需要其他信息,请告诉我。
最佳答案
JSF 通常捆绑在成熟的 Java EE 应用程序服务器中,例如 GlassFish、JBoss AS/EAP、WildFly、WebSphere、WebLogic 等。但是,Tomcat 是一个准系统的 JSP/Servlet 容器,它只捆绑了 JSP 和 Servlet API,没有 JSF API。
如果您想在 Tomcat 上使用 JSF,那么您需要将 JSF 库与 Web 应用程序捆绑在其 /WEB-INF/lib
中。文件夹,或通过将 JSF 库放在其 /lib
中来在 Tomcat 中安装 JSF文件夹。显然,该应用程序是为真正的 Java EE 应用程序服务器设计的,因此没有在 /WEB-INF/lib
中捆绑 JSF 库。 .
有两个可用的 JSF 实现,Mojarra和 MyFaces . com.sun.faces
package 表示 Mojarra,所以下载那个并将它放在 webapp 的运行时类路径中(即在 webapp 的 /WEB-INF/lib
或 Tomcat 的 /lib
中)。
另一个可能的原因是您将项目部署到使用 MyFaces 而不是 Mojarra 的 Java EE 应用程序服务器,而该项目显然最初是为 Mojarra 开发的。该监听器是特定于 Mojarra 的。在这种情况下,您最好删除整个 <listener>
来自 web.xml
的条目.
无论如何,Mojarra 的显式注册 ConfigureListener
在 web.xml
实际上只需要解决旧的错误服务器,例如 GlassFish v3 和 Jetty,它们无法在 Mojarra 的 TLD 文件中找到监听器。当部署到像样的服务器时,整个 <listener>
不需要输入。
关于jsf - java.lang.ClassNotFoundException : com. 太阳.faces.config.ConfigureListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848341/
我正在审查当前的 JSF 项目,其中 web.xml配置包含: FacesServlet(在 *.xhtml 上配置) com.sun.faces.config.ConfigureListener 我
这个问题在这里已经有了答案: java.lang.ClassNotFoundException : com.sun.faces.config.ConfigureListener (1 个回答) 关闭
运行我的应用程序时,我得到以下信息: The listener "com.sun.faces.config.ConfigureListener" is already configured for t
我正在学习 Java、Spring MVC 和 Eclipse。我现在正在读一本书,并试图让第一个 Spring MVC 示例运行。当我从 Eclipse 运行它时,出现此错误: INFO: TLD
我是 JSF 的新手,遇到了菜鸟问题。我正在玩在 http://javatutorialspot.com/jsf2/primefaces/primefaces-hello-world/ 找到的教程.当
我们是三个开发 JSF 项目的人,我们之前没有接触过 JSF。奇怪的是,从 SVN check out 相同的数据,其中一名团队成员每次使用 Tomcat 7.0.27 时都会收到 404 错误。 T
我有一个与这些非常相似的问题: > java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener when usin
我正在研究 JSP/Servlets。 Web 应用程序将部署在 Jboss 6 上。 我正在使用 Java 1.6、Eclipse 和 Maven2。我没有在我的代码中的任何地方引用 JSF。 我的
我在 NetBeans 7.0.1 的 struts2 框架中有一个 Web 应用程序。它工作正常。但是 Tomcat 突然开始出现以下错误: SEVERE: Error configuring ap
我正在尝试使用 MyFaces v 2.1 与 WebSphere Application Server Community Edition v3.0.0.1 和 Eclipse Juno 创建一个简
这个问题已经有答案了: How to properly install and configure JSF libraries via Maven? (1 个回答) 已关闭 6 年前。 在 Intel
我是一名优秀的程序员,十分优秀!