虽然unpackWar设置为true,但战争怎么能解压?

时间:2017-02-21 16:07:20

标签: tomcat tomcat7

这令我感到困惑:虽然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)说明战争是否应该解包? 什么我应该看的暗示,或者我如何确保战争被解压缩?

感谢您的阅读和帮助!

3 个答案:

答案 0 :(得分:1)

确保配置语法可能通过运行以下脚本来运行: “Tomcat的家” /bin/configtest.sh

答案 1 :(得分:1)

根据http://tomcat.apache.org/tomcat-7.0-doc/config/context.html unpackWAR ContextunpackWARs属性的文档:

  

如果为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)

来晚了,但可能会有所帮助。我检查了服务器配置。 如果您使用月食,请双击此处。

enter image description here

然后您将找到“部署路径”,如下所示。如果不是webapps,并且您的配置设置为webapps,则应将其更改为webapps。 (server.xml) 我认为这是默认设置,所以您可能要检查一下。

enter image description here