我正在使用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应用程序具有正确的依赖关系。
导致这种情况的原因是什么?
答案 0 :(得分:1)
我找到了问题的根源,但我不确定它为什么会导致它。 {CATALINA BASE} \ conf \ Catalina \ localhost \ ROOT.xml中的文件已更改为:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="SOME LONG INVALID FILE PATH" path=""/>
一些长期无效的文件路径&#39;是我在本周早些时候删除的JEE教程目录。我将ROOT.xml文件编辑为
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="" path=""/>
现在Tomcat开始没有抱怨。关于为什么会导致上述问题的任何解释都是受欢迎的。