大家都知道,团队项目迭代版本很快,每次迭代都要发布测试环境进行测试,甚至就修改一行代码,我们需要项目立即发布到测试环境跑起来,这样每次把项目copy到测试环境是不够的,即浪费时间,又做了很多重复的工作;试想,我们能不能像部署到本地一样部署到测试服务器,答案是肯定的,那就是实用maven工具,具体步骤如下(我的环境eclipse+maven3.3.9+tomcat1.8):
1.配置tomcat角色权限信息:
在远程机器上修改tomcat中的tomcat-user.xml文件,向其中添加内容(用户名和密码可以自定义):
<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin123" roles="admin,manager,manager-gui,manager-script,manager-jmx,manager-status"/>
2.修改保存后,启动tomcat,浏览器访问http://139.224.104.148:8989(我的远程服务器IP是139.224.104.148,tomcat端口号是8989):
然后点击Manager App弹出登录框,输入你刚配置的用户名和密码看是否能登陆成功,登陆进去则证明你的配置成功。
3.修改maven的setting.xml配置文件,添加服务器信息
<server>
<id>devTomcat</id>
<username>admin</username>
<password>admin123</password>
</server>
4.打开maven项目的pom.xml文件,添加如下配置:
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<url>http://139.224.104.148:8989/manager/text</url>
<server>tomcat</server>
<username>admin</username>
<password>admin123</password>
<update>true</update>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
注意:这里的端口号要保持与tomcat的端口号一致。
解释: 139.224.104.148 是你远程服务器的IP地址,server为maven配置文件中位置的服务器信息的id,path为应用最后发布的上下文路径;
4.配置Goals为:tomcat:redeploy
在项目上右击,选择Run As
->Maven Build
,在弹出的对话框中输入Goals的值为tomcat:redeploy
,最后单击Run
按钮,开始编译发布;控制台输出以下内容则发布成功:
[INFO] Deploying war to http://139.224.104.148/8989
[INFO] OK - Deployed application at context path /dev
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 20.254 s
[INFO] Finished at: 2016-10-09T16:05:16+08:00
[INFO] Final Memory: 14M/228M
[INFO] ————————————————————————
此时远程服务器的tomcat的webapp下会有root.war出现,那是发布的项目文件