java.lang.ClassNotFoundException:com.sun.faces.config.Config



我在NetBeans 7.0.1的struts2框架中有一个web应用程序。它运行良好。但是Tomcat突然开始出现以下错误:

SEVERE: 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:4660)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

有什么帮助吗?

也有同样的问题。您可能使用NetBeans以默认的"编译"范围自动添加此依赖项,它破坏了tomcat:

<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>

使用此处提供的范围https://stackoverflow.com/a/10156854/1051834如果它不能帮助安装一个新的tomcat并再次重新部署您的项目。

<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.6</version>

对我有效,你可以在它发布新版本时更改版本。

应用程序中缺少jsf实现库(它应该在应用程序的WEB-INF\lib\目录中)。若您从Netbeans启动应用程序,这个库(jsf-impl.jar?)是在Netbeans项目的类路径中配置的,所以并没有错误。

最新更新