IDEA开发Sping MVC的热部署配置
1. pom.xml修改的配置
war
UTF-8
UTF-8
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
jsp-api
2.2.1-b03
provided
org.apache.maven.plugins
maven-war-plugin
3.0.0
false
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
8080
/${project.artifactId}
UTF-8
tomcat7
true
http://www.guxiaotu.club:8888/manager/text
admin
admin
使用内嵌tomcat7服务器,运行命令mvn tomcat7:run,远程热部署项目,运行命令mvn tomcat7:redeploy
2. 配置远程tomcat
tomcat8.5之后版本,客户端进入tomcat首页点击manager想进行项目管理发现没有登录提示,直接跳转403或401权限错误
提示:
By default the Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you'll need to edit the Manager's context.xml file
==修改webapps/magager/META-INF/context.xml,注释以下内容,禁止只允许本机访问==
==同时修改conf/tomcat-users.xml,添加用户和规则==
manager-gui:允许访问html接口(即URL路径为/manager/html/)
manager-script:允许访问纯文本接口(即URL路径为/manager/text/)
manager-jmx:允许访问JMX代理接口(即URL路径为/manager/jmxproxy/)
manager-status:允许访问Tomcat只读状态页面(即URL路径为/manager/status/)
admin-gui:访问Host Manager(HTML UI接口)
admin-script:访问Host Manager(纯文本接口)
特别需要说明的是:manager-gui、manager-script、manager-jmx均具备manager-status的权限,也就是说,manager-gui、manager-script、manager-jmx三种角色权限无需再额外添加manager-status权限,即可直接访问路径/manager/status/。
3. 使用外部Tomcat或者jetty runer插件配置热启动
3.1 tomcat
IDEA配置tomcat比较简单,如果需要热部署jsp页面需要 on 'Update' action设置为Update classes and resources。classes类热部署需用到JRebel插件,系统无法自动更新classes
3.2 jetty-runer
(1)对于IDEA的jetty-runner插件,需要注意在无web.xml的纯注解开发下,需要将WebApp Folder配置为对应编译后target下的项目目录(在这之前必须使用打包命令mvn package生成target下项目目录)在使用jrebel插件基础上,JSP页面热部署需要重新执行打包命令mvn package。同样classes类热部署需用到JRebel插件,系统无法自动更新classes
(2) 如果使用web.xml配置,那么jetty-runer的WebApp Folder需要设置源码的webapp目录