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

Cla*_*omo 44 eclipse illegalargumentexception tomcat7

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
Run Code Online (Sandbox Code Playgroud)

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

Dis*_*Dev 47

最简单的解决方案(以及对我有用的)是从Eclipse中的"Servers"视图中删除我的tomcat服务器,然后创建一个新服务器并向其添加所有适当的模块.

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

  • 无需删除服务器,只需删除模块,[保存],然后将其重新添加回[保存] (2认同)

小智 20

我有同样的错误,只是反复运行这个maven命令并解决问题.

mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0
Run Code Online (Sandbox Code Playgroud)

eclipse没有意识到这是一个Web项目,所以永远不要部署应用程序.


ROM*_*eer 10

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

  • 停止Tomcat
  • 打开server.xml

    Ctrl+ Shift+ R>输入"server.xml">打开

  • 搜索" <Context docBase"

    Ctrl+ F> type" <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>
    
    Run Code Online (Sandbox Code Playgroud)
    • 可能在最后一行必须删除的末尾是</Host>(不要删除</Host>!)
  • 转到"服务器"选项卡>右键单击项目>"删除">"确定"

    去掉

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

    现在它应该工作!
    如果检查server.xml文件,您将看到生成了一条新的正确" <Context ... />"行.


Bnr*_*rdo 6

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

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

我通过编辑该条目来修复它,然后用我正在使用的文件夹代替默认值WebContent(webapp文件夹)进行修正


ili*_*nca 5

如果使用Eclipse STS

  1. 打开服务器视图

  2. 选择您要发布到的服务器

  3. 右键单击 - >清理

我有这个问题出现了几次,这似乎总是解决它.我想其他解决方案也有效,但对我来说似乎更复杂.

在此输入图像描述