需求:使用maven实现tomcat热部署,Tomcat启动时,部署工程。
原理:Tomcat有个后台管理功能,可以实现工程热部署。
一、配置方法:
1、将项目部署到服务器上首先先需要一个tomcat服务,我们先在服务器上解压一个tomcat取名叫tomcat-xxx:
2、启动tomcat,查看启动日志,网页访问:
1)启动命令:/usr/app/tomcat-e3mall/bin/startup.sh
(在你的tomcat下的bin目录找到start.sh)
2)查看日志:tail -f /usr/app/tomcat-e3mall/logs/catalina.out
3)访问管理界面,提示用户名,密码
第一步:需要修改tomcat的conf/tomcat-users.xml配置文件。添加用户名、密码、权限。
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>
第二步:重新启动tomcat。
二、pom文件的配置:
使用maven的tomcat插件实现热部署:
第一步:配置tomcat插件,需要修改工程的pom文件。
<!-- 配置tomcat插件 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<path>/</path>
<port>8080</port>
<!-- maven方式tomcat热部署 -->
<url>http://192.168.113.110:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
</plugins>
</build>
第二步:使用maven命令进行部署。
tomcat7:deploy #首次发布
tomcat7:redeploy #再次发布(通常是再次)
部署的路径是“/”会把系统部署到webapps/ROOT目录下。
部署工程跳过测试:
clean tomcat7:redeploy -DskipTests
验证项目部署情况:
1、使用dubbo-admin的服务治理查看是否有服务(推荐);
2、查看你访问http://ip号:8080/manager/html页面下的“/”Running是否为“true”;
问题:发布到tomcat里的项目,没有启动是什么原因?
解决:1、检查本地jdk版本是否和服务器jdk版本不一致,(我这里就是本地java1.8,远程忘记安装的是1.7);
2、检查是否是发布时jar包冲突了;(我这里暂时没有遇到,因此暂定)