本文主要是介绍tomcat热启动热部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
热加载热部署热启动。。。。。
共分两类:
A. tomcat 的conf/server.xml 中有一段是关于自动加载有变化的内容的
<Context docBase="XXAPP" path="/XXAPP" reloadable="true" source="org.eclipse.jst.jee.server:XXAPP"/></Host>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"><Context docBase="CPCWeb" path="/CPCWeb" reloadable="true" source="org.eclipse.jst.j2ee.server:CPCWeb"/></Host>
大家可以看到 Host 标签和Context标签中
autoDeploy="true" ---- 自动部署
reloadable="true" ---- 自动加载
如上代码,设置reloadable="false" crossContext="true",那么就可实现每次保存文件的时候,自动部署到服务器中,并且不会重新启动。
热加载的方式必须保证eclipse以debug模式启动项目才能有效果
B.整个更快速的重新启动,但是又不想执行命令复制粘贴直接发送或者页面操作
第一步,先要配置conf/tomcat-users.xml 中的user 用户密码的权限关系
</tomcat-users><role rolename="manager-gui" /><role rolename="manager-script" /><user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>
</tomcat-users>
这里有配置账号密码,就可以完成第一步了 ,但是我试了几遍发现一个问题,每次重新启动都会自动擦除这一块配置的东西,搜索之后发现有个同步机制,eclipse绑定之后会同步,不知道原理是啥,配上就好了,
两者记得要配置成同样的账号密码。这样就解决重启擦除的问题了。
第二步,如果有nginx 代理的话,会出现上传不成功,这时需要配置上传大小,一般默认5MB.
client_max_body_size 10M;
第三步, 上传分两种 ,一种是页面上传,一种是在项目中依赖maven的tomcat插件上传
a. 地址localhost:8080/manager/html 出现账号密码的输入框,就成了,这个页面可以控制已有的项目启动停止,重新启动都可以,
这一段可以上传你的项目连接,可以源码,可以war包一般的是war包
b.在项目中配置好路径 账号密码 就可以 run as 运行这个命令 clean tomcat7:deploy 依据自己版本来。
<build><finalName>reversion</finalName><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><url>http://localhost:8080/manager/text</url><!--url为tomcat访问路径 --><username>tomcat</username> <!--之前设置的用户名 --><password>tomcat</password> <!--之前设置的密 --></configuration></plugin></plugins></build>
发送 成功 就可以完成了。
我这里最后出现一个问题,打包是一个名字AA 如果是用run as 方式发布会出现另一个名称BB 遍查不到,控制打包名称的是这里
<build><finalName>reversion</finalName>
</build>
这个 控制打包名称, 原因也没有找到, 我的建议是项目名称和这个fileName尽量做成一样的。
这篇关于tomcat热启动热部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!