【问题标题】:Tomcat 6 Error When Deploying War部署战争时Tomcat 6错误
【发布时间】:2013-09-14 10:26:46
【问题描述】:

我有一个 Maven 生成的战争文件。当我尝试部署 war 文件时,catalina.out 中出现以下错误:

SEVERE: Exception fixing docBase: {0} 
java.io.FileNotFoundException: /usr/share/tomcat6/webapps/ROOT/META-INF/MANIFEST.MF (No such file or directory)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
    at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:457)
    at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:173)
    at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:882)
    at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1017)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.StandardContext.init(StandardContext.java:5280)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4086)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:881)
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:734)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:497)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1199)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

这是什么MANIFEST.mf 文件,为什么我突然需要它?我已经部署了大约 20 个运行良好的 Tomcat 应用程序,没有出现这个错误,当然也没有清单文件。

【问题讨论】:

  • 你能把这个linux命令的输出贴出来吗:ls -l /usr/share/tomcat6/webapps.
  • @DavidLevesque lrwxrwxrwx 1 root root 20 2010-04-19 10:40 /usr/share/tomcat6/webapps -> /srv/tomcat6/webapps
  • 好的,这是一个符号链接,你能把输出贴出来:ls -al /srv/tomcat6/webapps

标签: java tomcat tomcat6 manifest manifest.mf


【解决方案1】:

检查该目录中的权限;我怀疑 Tomcat 看不到 META-INF 和/或清单文件。

【讨论】:

  • 没有清单文件。 META-INF 目录中根本没有任何内容。当我运行包例程时,不是 Maven 设置的权限。
  • 我指的是标准的 nix 权限。 Tomcat 在某个用户帐户下运行;该帐户必须看到META-INF
  • 好吧,没有部署战争,所以没有目录。在 webapps 中只有 ROOT.war
  • 所以这最终成为了问题,即使该目录没有正确部署。实际上,它缺少对 webapps 文件夹的写入权限,无法正确部署文件。
  • 我从不压抑我的第一直觉!..很高兴你成功了!
猜你喜欢
  • 2014-04-23
  • 2018-08-30
  • 1970-01-01
  • 2013-11-27
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-12-01
  • 2021-10-25
相关资源
最近更新 更多