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 ...
随机推荐
- DataSet和DataTable有用的方法
每一个DataSet都是一个或多个DataTable 对象的集合(DataTable相当于数据库中的表),这些对象由数据行(DataRow).数据列(DataColumn).字段名(Column Na ...
- java操作Excel之POI(3)
一.字体处理 /** * 字体处理 */ public static void main(String[] args) throws Exception { Workbook wb = new HSS ...
- SpringBoot 自定义线程池
本教程目录: 自定义线程池 配置spring默认的线程池 1. 自定义线程池 1.1 修改application.properties task.pool.corePoolSize=20 task.p ...
- java实验——将100-300之间的素数输出
public class 实验1 { //将100-300之间的素数输出 /** * @param args */ public static void main(String[] args) { / ...
- 当vcenter是linux版本的时候Sysprep存放路径
为 VMware vCenter Server Appliance 安装 Microsoft Sysprep 工具在从 Microsoft 网站下载并安装 Microsoft Sysprep 工具之后 ...
- Linux下XAMPP装完之后,Navicat无法连上数据库的问题的解决 注意'mypassword'是当前的mysql登录密码
Linux下装完XAMPP之后,mysql是自带装好了的,这个时候,mysql的root用户没有密码. 在mac 下安装好xampp后,需要在终端命令行操作时,比如输入:mysql -u root - ...
- 在配置静态IP的时候遇到 :bringing up interface eth0 : error unknown connection
首先这是动态ip配置成功的结果 接下来切换到root用户来配置静态的 按照静态ip的配置方法配置好文件后(具体过程这里就不多加说明) 然后保存退出 当我们重启网卡的时候问题来了(因为本人有点强迫症,多 ...
- TensorFlow相关的一些技巧
谷歌开发技术推广工程师 Laurence Moroney 在 Google Cloud Next 大会上进行了一段 42 分钟的演讲,主题是「What's New with TensorFlow?」. ...
- 编写一个函数,在页面上输出一个N行M列的表格,表格内容填充0~100的随机数字
function print(n,m){ document.write("<table>"); for(var i=0; i<n; i++){ ...
- 如何提取一个转录本的3'UTR区域的序列
庐州月光 如何提取一个转录本的3'UTR区域的序列 在做microRNA 和 mRNA 相互作用预测的时候,大家都知道microRNA 作用的靶点是位于mRNA 的3'UTR取,所以只需要提取mRNA ...