Eclipse中使用JRebel实现项目热部署(Maven插件版)
JRebel实现项目热部署(Maven插件版)
热部署,就是在应用运行过程中不进行重启,可直接进行软件升级。
在开发过程中,热部署就是在项目运行过程中变更代码,无需重启服务器即可使代码生效。
tomcat可以进行项目热部署,但在类中添加方法或方法名改动时则无法热部署,需要重启服务器,导致浪费大量开发时间在等待项目重启上,通过JRebel可实现绝大部分项目代码改动都能进行热部署。
在安装JRebel插件前建议先把Maven jar包中央仓库的下载地址(默认下载地址是国外的,下载速度比较慢)换成国内的,这里推荐设置成阿里的中央仓库。
Maven中央仓库下载地址更换步骤:
①更改Maven配置文件
②设置Maven配置文件到Eclipse
1.找到本地Maven安装路径,打开本地Maven安装路径下的conf/Settings.xml:
2.在<mirrors></mirrors>标签内添加以下镜像参数并保存:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3.打开Eclipse-->Window-->Preferences,找到Maven下的User Settings:
-------------------------------------------------步骤结束-------------------------------------------------------------
在Eclipse中安装JRebel插件:
等待安装完成后,在弹出的是否重启Eclipse对话框点击确定,等待自动重启Eclipse,插件安装完成。
插件激活请参考:https://blog.csdn.net/lawsonjin/article/details/76422807
-------------------------------------------------步骤结束--------------------------------------------------
本人开发时运行项目使用的tomcat是Maven的tomcat插件,因此需要添加Maven的tomcat插件,通过Maven的tomcat插件运行项目想要使用JRebel需要添加Maven的JRebel插件。
Maven的tomcat插件配合JRebel的设置步骤:
1.在pom.xml中<build></build>标签下的<plugins>标签里添加tomcat插件以及jrebel插件:
以下是插件代码:
<!-- maven的tomcat组件,通过maven命令tomcat7:run运行项目 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/Irritability</path>
</configuration>
</plugin> <!-- jrebel热部署插件 -->
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>1.1.8</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
2.选中项目,点击右键-->JRebel-->Enable JRebel会在项目的src/main/resources目录下自动生成rebel.xml配置文件:
3.选中项目点击右键-->Run As-->Maven build...:
按照图中步骤设置后点击Run按钮运行项目:
运行结果:如下图说明JRebel插件启动成功,随后tomcat也开始启动:
启动完成后对项目内的某个方法进行更名等操作后保存代码,JRebel就会自动检测到代码变更,并重新编译更改了代码的文件,控制台打印信息:
补充:本人在完成JRebel安装后运行项目正常启动,但点击请求时出现
Exception in thread ""http-bio-80"exec-1" java.lang.OutOfMemoryError: PermGen s
的异常(内存溢出)。
内存溢出解决方法是扩大设置的内存,步骤如下:
Windows-->Preferences-->Java-->Installed JREs右侧-->Edit...
在 Default VM arguments中写入
-Xms512M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=768m
,随后重启项目即可正常使用JRebel热部署项目了。
Eclipse中使用JRebel实现项目热部署(Maven插件版)的更多相关文章
- Eclipse中的普通Java项目如何部署到Tomcat中
我现在的做法: 1.在Eclipse中配置Tomcat时,选择创建Context文件,而不是server.xml,好处是文件可以随便命名,与虚拟目录一致(即xml中的属性path).Tomcat加载项 ...
- Eclipse中安装JRebel热部署教程
Eclipse中安装JRebel热部署教程 前言 Eclipse安装JRebel插件可快速实现热部署,节省了大量重启时间,提高开发效率. 本文只介绍Eclipse安装JRebel插件版本 ...
- Java 项目热部署,节省构建时间的正确姿势
上周末,帮杨小邪(我的大学室友)远程调试项目.SpringBoot 构建,没有热部署,改一下就得重启相关模块.小小的 bug ,搞了我一个多小时,大部分时间都还在构建上(特么,下次得收钱才行).我跟他 ...
- 安装IntelliJ IDEA热部署tomcat插件JreBel
最近试着使用IntelliJ IDEA这款IDE,网上说它是最好用的java开发工具~但奈何国内ecilpse市场占有率实在稳固,所以国内这个工具也就少数人在使用 当然使用起来跟ecilpse还是有很 ...
- 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法
title: 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法 tags: grammar_cjkRuby: true --- 右键单击项目,properties-- ...
- 在命令行中运行eclipse中创建的java项目
在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行 由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...
- 利用eclipse新建的java web项目没有部署描述符web.xml文件怎么办?
原文转自:http://blog.csdn.net/suyu_yuan/article/details/50947007 利用eclipse新建的Java Web项目没有部署描述符web.xml文件, ...
- 在Eclipse中开发C/C++项目
摘要:通过本文你将获得如何在Eclipse平台上开发C/C++项目的总体认识.虽然Eclipse主要被用来开发Java项目,但它的框架使得它很容易实现对其他开发语言的支持.在这篇文章里,你将学会如何使 ...
- spring-boot项目热部署以及spring-devtools导致同类不能转换
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
随机推荐
- Python---scikit-learn(sklearn)模块
Python在机器学习方面一个非常强力的模块---scikit-learn模块,它作为数据挖掘和数据分析方面的一个简单而有效的工具,主要包括6大功能:分类(Classification),回归(Reg ...
- 解方程 2014NOIP提高组 (数学)
解方程 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 输入描述 Input Description 输入文 ...
- robotframework - 测试用例&套件- Settings标签
1.Test Case -- Settings标签截图 2.Test Case Settings 标签说明: Documentation:用于描述用例的一个小文本,它可以把 URL 地址转换为可点击的 ...
- RabbitMq安装成功后执行命令报错(Error: unable to connect to node 'rabbit@DESKTOP-LPKSION': nodedown)
我们直接来看解决方案吧.首先打开服务,找到RabbitMq服务. 双击打开后选择登陆选项卡: 点选此账户,输入你计算机的登录名称.点击浏览: 在这里输入你的用户名,点检索: 这里的密码输入你电脑开机登 ...
- 【杂文】虚拟键码表(供函数GetAsyncKeyState()使用)
[杂文]虚拟键码表(供函数GetAsyncKeyState()使用) 什么?你说你不知道 \(GetAsyncKeyState()\) ?\(→\)戳我\(←\) (惊奇的发现 \(0\) ~ \(9 ...
- 贪心+优先队列 HDOJ 5360 Hiking
题目传送门 /* 题意:求邀请顺序使得去爬山的人最多,每个人有去的条件 贪心+优先队列:首先按照l和r从小到大排序,每一次将当前人数相同的被邀请者入队,那么只要能当前人数比最多人数条件小,该人能 被邀 ...
- 贪心 Codeforces Round #135 (Div. 2) C. Color Stripe
题目传送门 /* 贪心:当m == 2时,结果肯定是ABABAB或BABABA,取最小改变量:当m > 2时,当与前一个相等时, 改变一个字母 同时不和下一个相等就是最优的解法 */ #incl ...
- 关于java日期输出格式
String.format("%tY%tm", new Date(), new Date()): //201905 String.format("%tY-%tm" ...
- 06使用NanoPiM1Plus在Android4.4.2下接U盘
06使用NanoPiM1Plus在Android4.4.2下接U盘 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本:V ...
- Angular——MVC模式开发实战
创建项目 创建工作目录 使用bower下载需要插件 git init.add.commit之后得到分支master,再创建developer分支,然后再此分支上进行具体功能开发 MVC架构 之前小项目 ...