目标服务器上安装java环境和tomcat,mavenjava
确保tomcat/webapps下有tomcat自带的manager项目git
确认manger/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />,是不是注释的,此标签表示只能本地127.0.0.1本地访问mangerweb
tomcat添加角色和用户,tomcat/conf/tomcat-users.xml最后一行添加apache
<role rolename="manager-gui"/> - 容许访问HTML GUI和状态页面
<user username="admin" password="admin" roles="manager-gui"/> -编辑name和passwordwindows
启动tomcat,访问manager,如http://ip:port/manager,正常状况以下图:浏览器
maven项目pom引入插件tomcat
<build>
<finalName>ssmDemo</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://ip:port/manager/text</url> -前面启动的tomcat的ip和端口,后面固定
<username>admin</username>
<password>admin</password> -前面配置的tomcat用户名和密码
</configuration>
</plugin>
</plugins>
</build>服务器
tomcat-maven插件默认编码格式为gbk,若项目编码格式不一样,pom.xml以下设置app
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
最后cmd或git打开到项目的根目录,与pom.xml同级目录,webapp
执行命令mvn -e -X clean tomcat7:deploy -Dmaven.test.skip=true
-e -X打印详细执行堆栈信息,若不须要可不加,clean打包部署前清理,deploy第一次部署 -Dmaven.test.skip=true跳过测试步骤
执行命令后,服务器tomcat/webapps下以下图,并无项目名的文件夹
浏览器访问前面配置的http://ip:port,不加项目名称,就能正常访问
项目若有更新,执行命令mvn -e clean tomcat7:redeploy -Dmaven.test.skip=true
或写入windows可执行文件,一键更新,在pom同级目录下新建test.bat,打开编辑
@echo off echo 自动部署tomcat开始... echo 当前时间是:%DATE% %time% call mvn clean tomcat7:redeploy -Dmaven.test.skip=true echo 部署完成,当前时间是:%DATE% %time% echo 服务器启动于 %DATE% %time% ,successful completed! pause