Java 部署War时出现Tomcat6错误

Java 部署War时出现Tomcat6错误,java,tomcat,tomcat6,manifest,manifest.mf,Java,Tomcat,Tomcat6,Manifest,Manifest.mf,我有一个maven生成的war文件。当我尝试部署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 Me

我有一个maven生成的war文件。当我尝试部署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)
严重:修复异常的docBase:{0}
java.io.FileNotFoundException:/usr/share/tomcat6/webapps/ROOT/META-INF/MANIFEST.MF(无此类文件或目录)
在java.io.FileOutputStream.open(本机方法)
位于java.io.FileOutputStream。(FileOutputStream.java:179)
位于java.io.FileOutputStream。(FileOutputStream.java:131)
位于org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:457)
位于org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:173)
位于org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:882)
位于org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:1017)
位于org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
位于org.apache.catalina.core.StandardContext.init(StandardContext.java:5280)
位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4086)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:881)
位于org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:734)
位于org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:497)
位于org.apache.catalina.startup.HostConfig.start(HostConfig.java:1199)
位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
位于org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
位于org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
位于org.apache.catalina.core.StandardService.start(StandardService.java:516)
位于org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
位于org.apache.catalina.startup.catalina.start(catalina.java:578)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)


这是什么
MANIFEST.mf
文件?为什么我突然需要它?我已经部署了大约20个Tomcat应用程序,它们工作正常,没有出现此错误,当然也没有清单文件。

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

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

没有清单文件。META-INF目录中没有任何内容。这不是Maven在运行包例程时设置的权限。我指的是标准的nix权限。Tomcat在某个用户帐户下运行;该帐户必须查看
META-INF
。战争没有部署,因此没有目录。在webapps中,只有
ROOT.war
,因此即使没有正确部署目录,这也是问题所在。事实上,它缺少对webapps文件夹的写入权限,不允许它正确部署文件。我从来没有抑制过自己的直觉!。。很高兴你成功了!没有清单文件。META-INF目录中没有任何内容。这不是Maven在运行包例程时设置的权限。我指的是标准的nix权限。Tomcat在某个用户帐户下运行;该帐户必须查看
META-INF
。战争没有部署,因此没有目录。在webapps中,只有
ROOT.war
,因此即使没有正确部署目录,这也是问题所在。事实上,它缺少对webapps文件夹的写入权限,不允许它正确部署文件。我从来没有抑制过自己的直觉!。。很高兴你成功了!你能发布这个linux命令的输出吗:
ls-l/usr/share/tomcat6/webapps
@davidevesque lrwxrwxrwx 1 root 20 2010-04-19 10:40/usr/share/tomcat6/webapps->/srv/tomcat6/webappsOk,这是一个符号链接,您可以发布以下linux命令的输出:
ls-al/srv/tomcat6/webapps
您可以发布以下linux命令的输出:
ls-l/usr/share/tomcat6/webapps
@davidevesque lrwxrwxrwx 1 root 20 2010-04-19 10:40/usr/share/tomcat6/webapps->/srv/tomcat6/webappsOk,这是一个符号链接,您能否发布以下内容的输出:
ls-al/srv/tomcat6/webapps