今天部署项目的时候出现了bean “××Service” available”的错误。尝试了很多方式排错,最后导师告诉我是打包部署项目的方式有问题。之前都没意识到打包部署方式的区别,这里来记录下war和war explode两种打包部署方式的区别。
war包和war exploded包的区别
- war包部署时,是先将项目打包,再部署到tomcat的目录中去。
在运行项目时,tomcat会将war包解压然后发布,这样部署发布时项目的相对路径会发生改变,也就说不会以当前目录去部署项目,这时的项目根目录是webapps下的ROOT目录,如果没有设置虚拟目录则不会显示原来项目的目录。 - war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。这里就不需要先将项目打包再放到tomcat中去然后再解压出来,而是直接以项目的目录形式放到tomcat中运行。
关于两种方式的具体区别和war包的解释在这里mark下
链接: war包详解