这令我感到困惑:虽然unpackWAR设置为' true'在/etc/tomcat7/server.xml中,并且在其他任何地方都找不到unpackWAR(包括context.xml),WAR保持打包状态。它永远不会打开包装!
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
VM是另一个克隆的克隆,一旦tomcat启动,war就会解压缩。因此,配置应该完全相同......我无法理解为什么它的行为不同!
是否有其他地方(但对于server.xml和context.xml)说明战争是否应该解包? 什么我应该看的暗示,或者我如何确保战争被解压缩?
感谢您的阅读和帮助!
答案 0 :(得分:1)
确保配置语法可能通过运行以下脚本来运行: “Tomcat的家” /bin/configtest.sh
答案 1 :(得分:1)
根据http://tomcat.apache.org/tomcat-7.0-doc/config/context.html unpackWAR
Context
中unpackWARs
属性的文档:
如果为false,将覆盖拥有主机的unpackWARs属性,并且不会解压缩WAR文件。如果为true,则拥有主机的unpackWARs属性的值将确定是否解压缩WAR。如果未指定,则默认值为true。
检查上下文的配置 - 额外额外确保您没有查找unpackWAR
,因为上下文属性名称是单数,{{1} }。
此外,context.xml可以打包在WAR文件中,也可以放在conf/localhost
中(或者在conf/
中配置为主机名的任何内容)
此外检查webapps文件夹(和temp)上的权限和所有权,您希望WAR文件解压缩。我希望这会显示在日志中,但是一个人永远都不会知道(他们也可能会被写保护......)。我所看到的一个常见问题是:有人&#34;意外地&#34;以root身份启动tomcat,这会更改大量的文件和目录所有权,并在以后使用正确的非特权用户帐户进行破坏。
其中一台计算机上的tomcat用户可能拥有与另一台计算机不同的用户ID - 这可能会导致意外行为。
答案 2 :(得分:1)