将JavaWeb项目打出war包并部署到tomcat
war包:一般是一个web应用,例如网站;jar包:常用的java类
下面说一下打war包的方式:
一,项目打包
两种方式,一种使用eclipse自带的打包方式,另一种使用的Maven的。
第一种:eclipse自带打包
1)选中项目右击选择导出,然后选择web文件夹中的WAR文件
2)点击Browse,选择存储位置,点击完成,成功打出war包。
第二种:使用Maven的打包,在pom.xml中配置打war包还是jar包。
1)选中项目,右击选择run as→Maven install
在控制台可看到打包成功信息及war包路径。
maven中有package,install,deploy三种方式,从上图可以看出,install比package多了maven-install-plugin:2.4:install (default-install),通过看控制台输出,我们可以发现以下区别:
- package命令完成了项目编译compile、单元测试test、打包war功能
- install命令完成上述的同时多了一步install
- deploy命令完成了项目编译compile、单元测试test、打包war、安装install功能,多了一步deploy部署
deploy是把打好的可执行war包(jar包或其它形式的包)布署到本地maven仓库并部署到了远程maven私服仓库,install是部署到本地maven仓库,但没有部署到远程maven私服仓库,package只是将包打到了target目录下。
package是把war包打到本地target目录下,install是把war包安装到本地仓库下,其他项目可使用,例如:
B项目依赖于A项目,如果用package打A包,编译B项目会报错。如果用install打A包,我们从上图可以看出打出的包在pom中部署了,B项目编译可正常使用。
二,部署到Tomcat下
1)将打出的war包放到Tomcat的webapps的目录下;
2)双击tomcat的bin目录下的的startup.bat,启动成功后直接在浏览器访问项目。
启动的Tomcat时,Tomcat的闪退,修改的startup.bat文件,在最后一行加入pause,查看闪退原因
3)dos窗口,可看到原因为the jre_home environment variable is not defined correctly this environment variable is need run。。。JRE_HOME环境变量未正确定义此环境变量需要运行....
则需在在的setclasspath.bat设置JAVA_HOME变量和JRE_HOME变量,如下图。
tomcat正常启动后,便可访问。