IllegalArgumentException:文档base \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps不存在或不是可读目录

时间:2014-08-31 04:30:54

标签: java eclipse tomcat localhost

当我尝试在我的本地Tomcat服务器上运行我的项目时,我收到错误:

Server Tomcat v7.0 Server at localhost failed to start.

我按照this Stackoverflow answer中的建议删除了文件夹tmp0。但我仍然得到同样的错误。

我已经复制了下面的堆栈跟踪。

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base C:\Users\Imray\Projects\InstrurentalApp\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\instrurentalapp does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:136)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:5089)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

5 个答案:

答案 0 :(得分:2)

您是否注意到这一行:

java.lang.IllegalArgumentException: Document base C:\Users\Imray\Projects\
      InstrurentalApp\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\
      wtpwebapps\instrurentalapp does not exist or is not a readable directory

该消息清楚地表明该目录不存在,或者Tomcat服务器没有对它的读访问权。如果你删除它......这可以解释为什么它不存在!

实际上,路径名对我来说非常可疑。它看起来像是开发沙箱中某个东西的路径,而部署的webapp(在Tomcat中运行)不应该依赖于这些东西。 (你不应该在你的生产服务器上有那种东西!)这可能是你问题的根本原因;即您忽略了将资源放入WAR文件并相应地更新配置文件。

答案 1 :(得分:1)

尝试这3种方法

1)尝试删除

中的.snap文件

yourprojectworkspace.metadata.plugins \ org.eclipse.core.resources

2)最常见的打嗝是当另一个Web服务器(或任何进程)声称端口8080时。这是Tomcat在启动时尝试绑定的默认HTTP端口。要更改此设置,请打开文件:

   $CATALINA_HOME/conf/server.xml

并搜索'8080'。将其更改为未使用的端口,并且大于1024,因为小于或等于1024的端口需要超级用户访问以在UNIX下进行绑定。 (例8181)

重新启动Tomcat并开始营业。请确保替换您用于访问Tomcat的URL中的“8080”。例如,如果您将端口更改为8181,则可以在浏览器中请求网址http://localhost:8181/

3)打开bin文件夹,其中包含驻留在tomcat目录中的shutdown.bat文件。运行它,这应该解决端口问题。

答案 2 :(得分:0)

只需更改端口号,即可解决此问题..

采取不同的端口 1. Tomcat管理端口:8079 2. Http Port:99 3. Ajp端口:8078

答案 3 :(得分:0)

检查您的web.xml文件

并在url-pattern和servlet-class中进行更正或任何语法错误,并运行project。

答案 4 :(得分:0)

  1. 转到服务器控制台中显示的服务器链接(与servlet同步)。
  2. 展开链接。
  3. 取消同步已同步的servlet。
  4. 右键单击服务器链接。
  5. 点击发布。
  6. 然后再次启动服务器。
  7. 希望它会奏效。 :d