发布方式
手工方式:需要做一系列的工作,包括打WAR包,上传到服务器,重启服务器,删除旧文件等
自动方式:一条命令完成以上所有过程
服务器环境
centos7.3和tomcat8,关于centos的应用,涉及LINUX方面的知识以后有机会再讲,这里假设已经在centos上部署好了tomcat
pom.xml
org.apache.maven.wagon wagon-ssh 2.10 org.codehaus.mojo wagon-maven-plugin 1.0 target/test-1.0.war test.war scp://wb:123@192.168.150.128/home/wb/pro/tomcat/webapps /home/wb/pro/tomcat/bin/shutdown.sh rm -rf /home/wb/pro/tomcat/webapps/test /home/wb/pro/tomcat/bin/startup.sh true
<extensions>:是maven扩展构件
wagon-maven-plugin:是自动上传的插件
<fromFile>:需要发布的本地文件名
<toFile>:发布到服务器后的文件名
<url>:协议://centos用户名:密码@服务器IP/tomcat的webapps目录,这是url的基本格式,发布到远程tomcat的webapps下
<commands>:按顺序执行linux命令,第一条是关闭tomcat,第二条是删除旧项目文件,第三条是启动 tomcat。
<displayCommandOutputs>:true是显示命令执行结果
执行命令
在eclipse中右键项目--运行方式--maven build...--goals中输入 package wagon:upload-single wagon:sshexec,运行,运行过程中可能会需要你输入一个yes--回车
这个命令的意思
package:打war包
wagon:upload-single:上传war包到pom.xml中的url,会自动覆盖url中旧的war包
wagon:sshexec:执行<commands>中的命令
执行结果:将本地修改过的项目代码,通过插件配置,自动打成WAR包上传到服务器,自动删除旧项目,自动重启tomcat