如何让tomcat爆炸战争文件

kev*_*vin 5 java jsp tomcat servlets tomcat7

参考tomcat和解压缩文件, 我已将server.xml配置为auto deploy : true.我的war文件名是ROOT.war,因为我不想在site.com之后/ subdir.

但我没有在/ webappts/ROOT或任何地方看到.css .js .java或.class文件.(我把它们放在ROOT.war中,并且网站运行良好并反映出来)

我只看到.class和.java

/var/cache/tomcat7/Catalina/localhost/_/org/apache/jsp/

/var/cache/tomcat7/Catalina/localhost/_/WEB-INF/classes/
Run Code Online (Sandbox Code Playgroud)

如何配置tomcat来爆炸.war文件?

更新我

我有Host name="localhost" appBase="/home/ubuntu/www" unpackWARs="true" autoDeploy="true" ,我仍然没有看到拆包.我的ROOT.war在/ home/ubuntu/www

更新II

我看到的一个问题是:

Feb 27, 2013 6:29:02 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /home/ubuntu/www/ROOT.war
Feb 27, 2013 6:29:02 PM org.apache.catalina.startup.ContextConfig init
SEVERE: Exception fixing docBase for context []
java.io.IOException: Unable to create the directory [/home/ubuntu/www/ROOT]
        at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:100)
        at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:720)
        at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:843)
Run Code Online (Sandbox Code Playgroud)

如果我使用chmod 777 手动在/ home/ubuntu/www /中进行ROOT .它给出404错误(不存在)

roo*_*kit 10

您的/ home/ubuntu/www文件夹需要由Tomcat进程写入.所有者和组应该是tomcat6/tomcat7(取决于您使用的TC).像这样:

drwxrwxr-x  4 tomcat7 tomcat7 4096 Feb 27 14:08 webapps
Run Code Online (Sandbox Code Playgroud)

你不应该chmod 777文件夹,这是一个安全风险,因为你正确推测.'chown tomcat7:tomcat7'应该可以工作.