Eclipse的tomcat错误:文档库不存在或不是一个可读的目录

13-dic-2011 17.00.36 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib 13-dic-2011 17.00.36 org.apache.tomcat.util.digester.SetPropertiesRule begin AVVERTENZA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Preventivi' did not find a matching property. 13-dic-2011 17.00.36 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 13-dic-2011 17.00.36 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8443"] 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 13-dic-2011 17.00.37 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 983 ms 13-dic-2011 17.00.37 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 13-dic-2011 17.00.37 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.23 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext resourcesStart GRAVE: Error starting static Resources java.lang.IllegalArgumentException: Document base /home/claudio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Preventivi does not exist or is not a readable directory at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:140) at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4880) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5060) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515) 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:636) 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext startInternal GRAVE: Error in resourceStart() 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext startInternal GRAVE: Error getConfigured 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext startInternal GRAVE: Context [/Preventivi] startup failed due to previous errors 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8443"] 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 13-dic-2011 17.00.37 org.apache.catalina.startup.Catalina start INFO: Server startup in 319 ms 

我已经在Eclipse中运行了我的webapp项目,但是今天我在控制台中收到了这个消息。 Tomcat返回一个404页面错误。 也许问题是,我会写的文件夹不存在。 诀窍在哪里?

最简单的解决scheme(和我的工作)是从Eclipse的“服务器”视图中删除我的Tomcat服务器,然后创build一个新的服务器,并添加所有适当的模块。

有时tomcat会感到困惑,而解决问题的最简单/最不耗时的方法就是重新开始。

我有同样的错误,只需重复运行这个maven命令并解决问题。

 mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0 

eclipse没有意识到这是一个web项目,所以不要部署应用程序。

我使用Tomcat 7和Eclipse Mars也遇到同样的问题。
我解决它如下:

  • 停止雄猫
  • 打开server.xml

    Ctrl + Shift + R >键入“server.xml”>打开

  • search“ <Context docBase

    Ctrl + F >键入“ <Context ”>查找

  • 从这里删除所有的<Context .../>标签:

     <?xml version="1.0" encoding="UTF-8"?> ... <Server port="8005" shutdown="SHUTDOWN"> ... <Service name="Catalina"> ... <Engine defaultHost="localhost" name="Catalina"> ... <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> ... <!-- Remove the following lines! --> <Context docBase="App1" path="/App1" reloadable="true" source="org.eclipse.jst.j2ee.server:App1" /> <Context docBase="App2" path="/App2" reloadable="true" source="org.eclipse.jst.j2ee.server:App2" /> </Host> </Engine> </Service> </Server> 
    • 可能在最后一行的末尾是</Host> (不要删除</Host> !)
  • 转到服务器选项卡>右键单击项目>删除>确定

    去掉

  • 右键单击项目>运行方式>在服务器上运行>完成

    现在它应该工作!
    如果你检查server.xml文件,你会看到一个新的正确的“ <Context ... /> ”行被生成。

这可能会迟到,但为了未来可能遇到同样问题的人的利益,我将分享我所经历的。

删除刚创build的Dynamic Web ProjectWebContent文件夹代替我公司的标准文件夹webapp文件夹后,出现此问题。 我发现,在Project Properties > Deployment AssemblyWebContent文件夹仍被用作Web应用程序的根(Deploy Path : "/") 。 因此,Eclipse不会将项目复制到.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps因为Deployment Assembly .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps指定的根目录不再存在。

我通过编辑该条目解决了问题,然后使用我正在使用的文件夹来代替默认的WebContentwebapp文件夹)

如果使用Eclipse STS

  1. 打开服务器视图

  2. select您要发布到的服务器

  3. 点击右键 – >清理

我有这个问题出现了几次,这似乎总是解决它。 我想其他解决scheme也可以工作,但对我来说似乎更加复杂。

在这里输入图像说明

看看你得到的exception,这看起来像发布你的WEB-App的问题(例如,Eclipse的WTP可能会搞砸了)。 第一件事情在我心中:

检查您的Tomcat服务器设置:转到服务器 – 双击您的服务器。 获取你的“服务器位置 – 服务器path”,并检查它是否存在,并检查用户/组的读/写权限。 例如。 ls -lh somepath / .medadata / .plugins / .org.eclipse.wst.server.core / tmp0您必须是该文件夹的所有者或至less在同一组中。

清洁eclipse工作区。 (项目 – 全部清理)

清理/重新发布你的wep-app(右键单击服务器,清理,发布)。

检查应用程序是否已发布,在/home/claudio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/中应该有一个名为Preventini的文件夹。再次检查这里的权限(请参阅以上)。

发生了几次。

Windows>显示视图>服务器>

服务器列表将显示在底部右键单击并删除。

现在,在运行项目时,手动重新从现有服务器列表中select服务器并运行。

我必须从模块选项卡下的tomcatconfiguration视图中删除一个有问题的项目/模块。

我已经通过添加从WebContent / WEB-INF / lib文件夹中删除和添加jar文件来解决这个错误。 我也做了相同的项目属性即(通过select添加外部Jar选项右键单击项目 – >生成path – >configuration生成path)。

当我导入一个项目并使用Tomcat运行时,我遇到了这个问题。 当我打开.project文件并添加了一些代码时,我修复了它:

 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> 

这可能是因为“ Tomcat \ conf \ Catalina ”文件夹。 请删除这个文件夹。

感谢Kamal

尝试,右键单击tomcat – > 添加/删除 ,然后在打开的窗口中,删除所有项目在configuration侧..

然后重新启动tomcat。

转到Tomcatpipe理器selectWeb应用程序 – >取消部署它

今天我正在和其他一些项目合作,在启动服务器(tomcat7)时出现一些错误,所以我首先cleaned了服务器,试了一下,但没有运气,于是我删除了服务器,并创build了一个新服务器。

我正在工作的项目开始工作正常,但另一个项目开始给我同样的例外,我再次删除了服务器,并尝试,但同样的情况下,即使我无法打到tomcat着陆页,即localhost:8888/ 。 我真的不知道如何以及为什么发生这一切。

我尝试了几个像clean东西, add/remove然后我开始search。

经过一番研究后,我想再给一次机会,然后我再次启动服务器,这次我的两个项目都开始正常工作,但仍然在tomcat页面上获得404

作为一个微不足道的问题,你试图启动的项目可以closures(如果你有很多项目进入工作区,这可能是不可能的)。 只要right click -> Open Project ,在这种情况下。

在这里输入图像说明

我今天遇到了这个问题,然后通过编辑%tomcat_home%\ conf目录下的server.xml来解决它,如下所示:

 <Context docBase="E:\apache-tomcat-7.0.52\webapps\ROOT" path="/ROOT" reloadable="true" source="org.eclipse.jst.j2ee.server:pc-ui"/> 

我不知道MyEclipse是否已经加载了“Host”元素中的“Context”元素,但根据IDE控制台中显示的错误信息进行更改。

我得到了这个错误几次。 我知道这是因为我的项目在运行“mvn eclipse:eclipse”行后没有正确地构build。 确保正确构build项目,然后从服务器添加和删除项目。

如果你执行maven来构build一个java项目,这可能会发生

 mvn eclipse:eclipse 

而不是执行maven来构build一个web java项目,如下所示:

 mvn eclipse eclipse -Dwtpversion=2.0 

你可以看看tomcat \ conf \ Catalina \ localhost,如果你能看到它的名字与你的错误信息相匹配的xml文件。你可以直接删除这个xml文件并重新启动你的tomcat。

在采用任何其他解决scheme之前,请确保项目已打开