Apache-tomcat-8.5.29覆盖展开文件夹的内容?
Apache-tomcat-8.5.29 overrides the content of the exploded folder?
我正在从旧版本 tomcat 升级到 8.5.29
我有一个 tomcat 服务器,其中有 WAR 个文件和展开的文件夹
tomcat8/webapps/xerox.war 和 tomcat8/webapps/xerox
展开的文件夹包含 WAR
中不存在的补丁
我希望 tomcat 仅使用展开的文件夹并忽略 WAR 文件。
所以在 server.xml 中,在 Host 部分我将 unpackWARs 设置为 true,将 autoDeploy 设置为 false,
它似乎无法正常工作,并且在重启后 exploded 文件夹中的内容被覆盖/删除。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false">
我做错了什么?
Tomcat 在解压缩的 WAR 文件夹 (tomcat8/webapps/xerox
) 中创建一个 META-INF/war-tracker
空文件。如果以毫秒为单位的修改时间(参见 stat,因为我假设你在 *nix 下)对于他的 WAR 文件和跟踪器来说完全相同,那么目录是独立的。否则 Tomcat 删除目录并再次解压 WAR 文件。
autoDeploy="false"
设置不会影响此行为,除非您还设置了 deployOnStartup="false"
,在这种情况下 WAR 文件和扩展目录都将被 Tomcat.这不是您想要的。
你有两个解决方案:
- 停止Tomcat并删除WAR文件,
- 保留它们,但检查是否有某些东西(例如备份系统)没有修改 WAR 文件和跟踪器文件的时间戳。
使用我不知道存在的关于 war-tracker 的第一个答案...
我最终找到了这个方法,看起来效果不错
touch ./tomcat8_NEW/webapps/xerox/META-INF/war-tracker -r ./tomcat001_old/webapps/xerox.war
这会在 META-INF 目录中创建一个新的 war-tracker 文件并克隆 WAR 时间戳
所以 tomcat 认为 WAR 没有变化,也不对展开的目录做任何事情。
谢谢@Piotr P. Karwasz 的回答,我会接受的。
我正在从旧版本 tomcat 升级到 8.5.29
我有一个 tomcat 服务器,其中有 WAR 个文件和展开的文件夹
tomcat8/webapps/xerox.war 和 tomcat8/webapps/xerox
展开的文件夹包含 WAR
中不存在的补丁
我希望 tomcat 仅使用展开的文件夹并忽略 WAR 文件。
所以在 server.xml 中,在 Host 部分我将 unpackWARs 设置为 true,将 autoDeploy 设置为 false,
它似乎无法正常工作,并且在重启后 exploded 文件夹中的内容被覆盖/删除。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false">
我做错了什么?
Tomcat 在解压缩的 WAR 文件夹 (tomcat8/webapps/xerox
) 中创建一个 META-INF/war-tracker
空文件。如果以毫秒为单位的修改时间(参见 stat,因为我假设你在 *nix 下)对于他的 WAR 文件和跟踪器来说完全相同,那么目录是独立的。否则 Tomcat 删除目录并再次解压 WAR 文件。
autoDeploy="false"
设置不会影响此行为,除非您还设置了 deployOnStartup="false"
,在这种情况下 WAR 文件和扩展目录都将被 Tomcat.这不是您想要的。
你有两个解决方案:
- 停止Tomcat并删除WAR文件,
- 保留它们,但检查是否有某些东西(例如备份系统)没有修改 WAR 文件和跟踪器文件的时间戳。
使用我不知道存在的关于 war-tracker 的第一个答案...
我最终找到了这个方法,看起来效果不错
touch ./tomcat8_NEW/webapps/xerox/META-INF/war-tracker -r ./tomcat001_old/webapps/xerox.war
这会在 META-INF 目录中创建一个新的 war-tracker 文件并克隆 WAR 时间戳
所以 tomcat 认为 WAR 没有变化,也不对展开的目录做任何事情。
谢谢@Piotr P. Karwasz 的回答,我会接受的。