【发布时间】:2017-03-28 14:17:42
【问题描述】:
我正在使用 Tomcat 8.0.41,但遇到了一个我无法解决的问题。当我启动 Tomcat 时,我在日志中收到以下异常消息,即使没有部署 Web 应用程序。
28-Mar-2017 09:03:45.659 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Marking servlet Faces Servlet as unavailable
28-Mar-2017 09:03:45.659 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [Faces Servlet] in web application [] threw load() exception
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:518)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:499)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1027)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5038)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5348)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1798)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
我在 StackOverflow 上找到的所有问题都说 Web 应用程序需要包含正确的依赖项,但奇怪的是,当我部署了零个 Web 应用程序时,错误仍然显示。我不记得当我第一次开始使用 tomcat 时出现这个错误,但我不记得它是什么时候开始的。我宁愿不要在 tomcat/lib 文件夹中添加 jar,因为我使用的 Web 应用程序具有适当的依赖关系。
这可能是什么原因造成的?
【问题讨论】:
-
哇,这太奇怪了。由于您没有部署 webapps...也许尝试停止 tomcat,清除“工作”目录,然后重新启动 tomcat。
-
另外,请看一下“webapps”目录,看看真正要部署的内容。我刚刚意识到您可能一直在查看来自 tomcat 管理器的内容,而不是查看文件系统...
-
@BradBales 感谢您的帮助。我清理了工作并重新启动,但这没有帮助。 webapps 目录完全是空的。
-
@BradBales 我想出了一个解决方案(见答案)。谢谢你的帮助!它为我指明了正确的方向!
标签: tomcat