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 Project
的WebContent
文件夹代替我公司的标准文件夹webapp
文件夹后,出现此问题。 我发现,在Project Properties > Deployment Assembly
, WebContent
文件夹仍被用作Web应用程序的根(Deploy Path : "/")
。 因此,Eclipse不会将项目复制到.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
因为Deployment Assembly
.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
指定的根目录不再存在。
我通过编辑该条目解决了问题,然后使用我正在使用的文件夹来代替默认的WebContent
( webapp
文件夹)
如果使用Eclipse STS
-
打开服务器视图
-
select您要发布到的服务器
-
点击右键 – >清理
我有这个问题出现了几次,这似乎总是解决它。 我想其他解决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之前,请确保项目已打开 。