maven tomcat7 远程热部署
在maven项目开发中,一般推荐使用jetty进行开发调试。但是在项目发布的时候要求使用tomcat7作为发布服务器,为此在maven中配置了tomcat7插件,以支持项目在外部tomcat7进行远程热部署。
具体配置步骤如下:
1、在服务器段安装tomcat7,并更改配置文件夹conf中tomcat-users.xml。这样用户tomcat就拥有管理员权限。
- <span style="font-size:14px;"><role rolename="admin-gui"/>
- <role rolename="admin-script"/>
- <role rolename="manager-gui"/>
- <role rolename="manager-script"/>
- <role rolename="manager-jmx"/>
- <role rolename="manager-status"/>
- <user name="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui" /></span>
2、在本地maven的setttings.xml文件中,属性<servers><servers>中添加如下配置
- <server>
- <id>tomcat7</id>
- <username>tomcat</username>
- <password>tomcat</password>
- </server>
3、在项目的pom.xml中引入tomact7-maven-plugin插件,并对插件进行配置
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <!-- 注意此处的url -->
- <!-- <url>http://localhost:18080/manager/text</url> --><!--部署到本地tomcat7-->
- <url>http://ip地址:8080/manager/text</url>
- <server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致 -->
- <path>/${projectName}</path> <!-- 此处的名字是项目发布的工程名 -->
- <!--<username>tomcat</username>--><!--settings.xml文件已配置,此处可不配-->
- <!--<password>tomcat</password>--><!--settings.xml文件已配置,此处可不配-->
- </configuration>
- </plugin>
4、对当前项目执行mvn tomcat7:deploy命令(首次部署),或者mvn tomcat7:redeploy(再次部署),这样在远程tomcat会成功部署了该项目。(注意:部署前要确保tomcat7是启动状态)
综上所述,完成了对tomcat7远程热部署,别忘了tomcat7 的server.xml中配置URIEncoding="UTF-8" ,以便支持中文。如下:
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" URIEncoding="UTF-8" />
如果想让项目的目录成为tomcat7的根目录,让项目在启动的时候不用带上项目名称访问,如http://ip/项目名,变为http://ip 则可以在server.xml中<Host>添加<Context path="" docBase="项目名" debug="0" reloadable="true"/>。这样项目的目录成为根目录,而不是ROOT目录。
还有一种不更改server.xml配置的方式,就是在pom.xml中将<path>/${projectName}</path>改为<path>/ROOT</path>这样,项目就发布成了根目录,只不过,测试发现在远程只生成了ROOT.war没有生成ROOT文件夹。而且需要手动在manager界面启动根目录的项目。而部署到本地(localhost)没有发现这个问题。
maven tomcat7 远程热部署的更多相关文章
- maven实现tomcat热部署
1.使用maven+tomcat事项热部署 1.1修改tomcat-user.xml <role rolename="manager-gui"/> <!--man ...
- 使用 JRebel 进行远程热部署
JRebel支持热部署,和远程热部署,本文我们来搭建一下远程热部署. 一.服务器安装 JRebel 1.官网下载最新的 JRebel 安装包,下载链接:https://zeroturnaround.c ...
- maven+tomcat6-maven-plugin实现热部署及调试
maven project,特别是maven module项目默认情况下是是无法直接通过tomcat等容器部署的,如图,我要部署fastdev_web这个maven module,可以看出在tomca ...
- Tomcat7的热部署
所谓热部署就是在tomcat不停机的情况下,将新的war包放上去,达到服务不中断,用户无察觉的目的,实现的原理很简单,这里做下记录,以便后期查看. 1.1 安装tomcat7 略 1.2 在tomca ...
- 从零搭建SSM框架(五)Maven实现Tomcat热部署
配置tomcat 第一步:需要修改tomcat的conf/tomcat-users.xml配置文件.添加用户名.密码.权限. <role rolename="manager-gui&q ...
- maven实现项目热部署
1.Tomcat的配置 我们需要实现热部署,自然就需要通过maven操作tomcat,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. 在tomcat的安装 ...
- 记录Tomcat7.x热部署配置过程
我自己的开发版本是tomcat7.0.43+myeclipse14 原版在:http://blog.csdn.NET/chen_zw/article/details/8867779 热部署是指在你对项 ...
- idea maven jetty插件热部署
maven tomcat插件好像无法进行热部署,jetty可以如下配置实现热部署,但是idea无法进行自动编译,所以需要如下快捷键 Ctrl+Shift+F9,编译 Ctrl+F9,生成项目 < ...
- 利用 jrebel 热部署\远程调试\远程热部署 springboot项目 服务器上的代码
首先要在eclipse 中启用 启用以后在 resource 中生成了 rebel-remote.xml 然后build,把生成的jar包放到服务器上. 然后用下面的命令启动 java -agentp ...
随机推荐
- css-深入理解margin和padding
最近一阶段从新学习了css,发现真的有很多很多的地方都是空白的,今天我们来总结一下margin和padding的一些不为人知的秘密! 一利用float和margin实现布局 我们首先来实现一个两列示布 ...
- [转]win server 2003 + IIS 6 搭建MVC 运行环境
本文来自:http://c.jinhusns.com/bar/t-993 win server 2003 + IIS 6 搭建MVC 运行环境 上一篇 下一篇近乎_问阳 发表于:2014-01-07 ...
- 部署DNS从服务器
修改主服务器中区域信息文件: # vi /etc/named.rfc1912.zones 检查配置文件是否有错误 # named-checkconf 重启named服务程序,让配置文件生效 #syst ...
- vlc 网页插件的 使用与控制 API http://www.xuebuyuan.com/2224602.html
不知道vlc 是什么的请百度一下.. vlc 提供了ie浏览器的activeX插件和火狐或者chrome的插件,基本上覆盖了所有浏览器,所以有复杂解码需求的情况下用vlc来解决网页播放视频,也是一种没 ...
- linux如何查看系统是多少位的?64 OR 32
1.可以用命令“getconf LONG_BIT”查看, 如果返回的结果是32则说明是32位,返回的结果是64则说明是64位. 2.此外还可以使用命令“uname -a”查看, 输出的结果中,如果有x ...
- Jade模板引擎使用详解
在 Express 中调用 jade 模板引擎 jade 变量调用 if 判断 循环 Case 选择 在模板中调用其他语言 可重用的 jade 块 (Mixins) 模板包含 (Includes) 模 ...
- Mybatis 测试延迟加载
在学习mybatis的延迟加载时,对 lazyLoadingEnabled 和 aggressiveLazyLoading 的区别并不理解,特别是对查询的条件不同时,执行的查询语句也不一样,所以还是测 ...
- 管理11gRAC基本命令 (转载)
在 Oracle Clusterware 11g 第 2 版 (11.2) 中,有许多子程序和命令已不再使用: crs_stat crs_register crs_unregiste ...
- PHP 算术运算符
PHP 算术运算符 运算符 名称 描述 实例 结果 x + y 加 x 和 y 的和 2 + 2 4 x - y 减 x 和 y 的差 5 - 2 3 x * y 乘 x 和 y 的积 5 * 2 1 ...
- redis删除key
shell命令如下 #!/bin/bash echo "$(redis-cli keys "_query*")" | while read LINE; do e ...