Tomcat创建WEB-INF / lib但不会爆炸war文件(GWT)

有没有人见过这样的事:

我正在使用一个脚本,它基本上使用ant取消部署应用程序,将新的war文件放在deploy目录中,然后再使用ant部署它。

问题是,在部署之后,webapps文件夹中存在的所有内容都是3个目录:myapp / WEB-INF / lib

除了那3个空目录外,没有其他文件。 目录的时间戳表明它们是在我运行脚本时创建的。

发生这种情况后,通过Tomcat管理器取消部署然后停止/启动Tomcat似乎正确地爆炸它,但我理想地希望使用该脚本进行自动化。

有人看过类似问题/知道可能出现什么问题吗?

自从之前发布以来,Undeploy / deploy脚本没有改变,所以我不这么认为。 除了一些代码更改之外,我实际项目中发生的主要变化是升级到新的GWT版本。 新的GWT版本将一些文件放在名为/ WEB-INF / deploy /的文件夹中,但我不认为这会导致它。 不要在日志中看到任何错误

War文件只是一个zip文件,一旦启动/停止服务器就会部署它。 不确定ant“Undeploy”

Kirubha

  1. 你有没有尝试清理tomcat worktemp目录?
  2. 部署脚本有什么作用? 它首先删除旧战争,然后复制新战争,还是覆盖war文件?
  3. 如果您手动创建战争(只需压缩您需要的内容),并将其放在webapps目录中会发生什么?
  4. 也许查看conf/server.xml文件中的自动部署配置:

FWIW,我们在Tomcat 7上进行了一次新的,简单的* WAR部署。

当我访问相应的页面时,我看到编译的JSP类出现了。 所以该应用程序工作,它只是没有爆炸到工作区…不知道为什么。

我很难解释发生了什么,因为这是一个增量应用程序升级,初始安装需要一个相同的过程**,这非常顺利。 这表明它不是tomcat配置问题。

*我们使用部署描述符(xml)文件,因此我们可以重用相同的战争

**该过程是手动运行打包在WEB-INF文件夹中的脚本

[更新]我可能刚刚回答了我自己的问题。 如果我重用WAR文件用于不同的部署上下文,那么可能正在使用常见的爆炸WAR?