今天发现一个很NB的玩意,让我们在开发的时候修改Java文件,不用重启服务器立刻生效!支持Jetty tomcat jboss等很多服务器,它就是JRebel。
http://www.zeroturnaround.com/jrebel/installation/ 这里有针对不同服务器的安装方法,基本上主流的都涵盖了,绝大多数程序员都能使用!我们公司用maven/jetty对项目进行构建和开发,下面我就来说下针对maven的使用,很简单!
(一).下载javarebel.jar,此文件可以放在你本机的任何目录下,不需要放在项目中。
(二).在pom.xml中增加一个依赖库查询和一个插件的依赖库查询
Xml代码
<repositories>
<repository>
<id>zt-repo</id>
<url>http://repos.zeroturnaround.com/maven2</url>
</repository>
.......................
</repositories>
<pluginRepositories>
<pluginRepository>
<id>zt-repo</id>
<name>Zero turnaround repo</name>
<url>http://repos.zeroturnaround.com/maven2</url>
</pluginRepository>
.........................
</pluginRepositories>
<repositories>
<repository>
<id>zt-repo</id>
<url>http://repos.zeroturnaround.com/maven2</url>
</repository>
.......................
</repositories>
<pluginRepositories>
<pluginRepository>
<id>zt-repo</id>
<name>Zero turnaround repo</name>
<url>http://repos.zeroturnaround.com/maven2</url>
</pluginRepository>
.........................
</pluginRepositories>
(三).添加javarebel-maven-plugin
Xml代码
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>javarebel-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>javarebel-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
(四).修改Jetty属性,加上<scanIntervalSeconds>0</scanIntervalSeconds> ,到这里pom.xml就修改完了。
(五).到项目目录下运行mvn javarebel:generate,它会生成一个rebel.xml到你项目的target下面,不用管它,然后执行set MAVEN_OPTS=-noverify -javaagent:D:\javarebel.jar 这个jar就是一开始下载的那个jar文件,我存在我本机D盘根目录
(六).大功告成,运行mvn jetty:run 启动你的项目修改一个java文件看看效果吧!
分享到:
相关推荐
然而,值得注意的是,JavaRebel并不支持XML文件和.properties配置文件的实时更新,这些仍然需要通过常规方式重新部署。 JavaRebel的免编译特性显著地减少了开发周期,加快了迭代速度,使得开发人员可以更快地测试和...
它允许开发者实时地看到代码变更,无需重新部署应用或重启服务器。这对于大型项目和复杂系统的开发尤其重要,因为传统的重启服务器过程可能会浪费几分钟甚至更长的时间。 1. JavaRebel的工作原理: JavaRebel通过...
这款工具的核心功能在于,它允许开发者在代码修改后无需重新启动应用服务器就能实时看到更改的效果,极大地减少了开发过程中繁琐的部署和重启时间。 JavaRebel 2.0正式版作为其一个重要版本,可能包含了一些新的...
然而,它的默认配置并不支持热部署,每次修改代码后都需要重新启动服务,这对快速迭代和测试造成了不便。 JavaRebel通过插入到JVM(Java虚拟机)中,监听并处理类加载事件,实现代码的即时更新。它会监测源代码的...
这种技术允许开发者在修改代码后立即看到应用的变化,而无需重新启动服务器,这大大减少了等待时间,提高了迭代速度。这种技术通常被称为热部署或热更新。 在描述中提到的“NULL 博文链接:...
通过这种方式,JavaRebel帮助开发者快速验证代码更改,特别是在类的方法调试过程中,可以大大节省时间,提高开发速度。 总的来说,JavaRebel是Java开发中的利器,尤其是在处理大型项目或需要频繁调试代码时,它的...
通过实时应用代码更改,开发者无需重新部署应用就能看到更新的效果,大大提高了开发效率。 2. **ActiveRecord的二级缓存**:在Java或类似框架中,ActiveRecord模式常用于简化数据库操作。报告提到了如何通过一行...