我在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)
任何帮助?
答案 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项目的类路径中配置,因此没有错误。