java.lang.ClassNotFoundException:com.sun.faces.config.ConfigureListener NetBeans 7.0.1中的部署错误

时间:2012-09-18 14:53:11

标签: java tomcat

我在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)

任何帮助?

3 个答案:

答案 0 :(得分:9)

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

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

使用提供的范围,例如https://stackoverflow.com/a/10156854/1051834 如果它无法帮助安装新的tomcat并再次重新部署项目。

答案 1 :(得分:3)

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

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

答案 2 :(得分:1)

应用程序中缺少jsf实现库(它应该位于应用程序的WEB-INF \ lib \目录中)。 如果从Netbeans启动应用程序,则此库(jsf-impl.jar?)在Netbeans项目的类路径中配置,因此没有错误。