【问题标题】:ClassNotFoundException: com.sun.faces.config.ConfigureListener - Deployment of jars to Tomcat configured under EclipseClassNotFoundException: com.sun.faces.config.ConfigureListener - 将 jar 部署到 Eclipse 下配置的 Tomcat
【发布时间】:2013-05-18 09:02:16
【问题描述】:

我有一个与这些非常相似的问题:

  1. java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener when using MyFaces with WASCE/Geronimo
  2. java.lang.ClassNotFoundException : com.sun.faces.config.ConfigureListener
  3. Error with Jboss while deploying a jsp/servlet web app "com.sun.faces.config.ConfigureListener" Error

我已设法找到解决方法,但仍未解决问题。

当我将应用程序部署到在 Eclipse Juno Service Release 1 中配置的 Tomcat 7.0.34(内部版本号:20120920-0800)时,我得到:

INFO: Starting Servlet Engine: Apache Tomcat/7.0.34
maj 22, 2013 5:10:34 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\ProjName\Workspaces\projname-eclipse-ws\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\4.0.1\WEB-INF\lib\javaee-api-6.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
maj 22, 2013 5:10:34 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\ProjName\Workspaces\projname-eclipse-ws\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\4.0.1\WEB-INF\lib\javax.servlet-3.2-b05.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
maj 22, 2013 5:10:36 PM org.apache.catalina.core.StandardContext listenerStart
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:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
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)

我检查了我的 web.xml,没有任何与 ConfigureListener 相关的条目。

我将 javaee-api-6.0.jar 和 javax.servlet-3.2-b05.jar 都设置为 provided。解决方法是我从 C:\ProjName\Workspaces\projname-eclipse-ws.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\4.0.1\WEB 中删除两个 jar -INF\lib 在通过 Eclipse 部署应用程序之后。

我的问题是,为什么 Eclipse 将这些 jar 部署到 Tomcat 而不管它们的范围设置为 provided?还有其他控制jar部署的地方吗?

【问题讨论】:

    标签: java eclipse tomcat deployment classnotfoundexception


    【解决方案1】:

    你的库中有 jar - faces-sources-1.2.0.09.jar 吗?

    如果没有,则将其添加到您的项目中。你可以从这里下载它 - http://www.java2s.com/Code/Jar/c/Downloadcomspringsourcecomsunfacessources12009jar.htm

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 2016-06-06
      • 2015-06-22
      • 2011-10-03
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 2016-02-17
      • 2012-11-14
      相关资源
      最近更新 更多