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
- 你有没有尝试清理tomcat
work
和temp
目录? - 部署脚本有什么作用? 它首先删除旧战争,然后复制新战争,还是覆盖war文件?
- 如果您手动创建战争(只需压缩您需要的内容),并将其放在
webapps
目录中会发生什么? - 也许查看
conf/server.xml
文件中的自动部署配置:
FWIW,我们在Tomcat 7上进行了一次新的,简单的* WAR部署。
当我访问相应的页面时,我看到编译的JSP类出现了。 所以该应用程序工作,它只是没有爆炸到工作区…不知道为什么。
我很难解释发生了什么,因为这是一个增量应用程序升级,初始安装需要一个相同的过程**,这非常顺利。 这表明它不是tomcat配置问题。
*我们使用部署描述符(xml)文件,因此我们可以重用相同的战争
**该过程是手动运行打包在WEB-INF文件夹中的脚本
[更新]我可能刚刚回答了我自己的问题。 如果我重用WAR文件用于不同的部署上下文,那么可能正在使用常见的爆炸WAR?