参考tomcat and extracted files
我已将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/
如何配置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)
如果我手动使用chmod 777在/ home / ubuntu / www / 中生成ROOT 。它会出现 404 错误(不存在)
答案 0 :(得分:10)
您的/ home / ubuntu / www文件夹需要Tomcat进程可写。所有者和组应该是tomcat6 / tomcat7(取决于您使用的TC)。像这样:
drwxrwxr-x 4 tomcat7 tomcat7 4096 Feb 27 14:08 webapps
你不应该chmod 777文件夹,这是你正确推测的安全风险。 'chown tomcat7:tomcat7'应该可以工作。
答案 1 :(得分:1)
您需要确保unpackWARs==true
已设置。
如果您希望放置在Web应用程序中,请设置为true appBase目录作为Web应用程序归档(WAR)文件 unpacked到相应的磁盘目录结构,false运行 这样的Web应用程序直接来自WAR文件。 WAR文件位于 在主持人的appBase之外不会扩展。
来源:http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Standard_Implementation