`
杰然不同
  • 浏览: 26284 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

修改Java文件后终于不用重启服务器了

    博客分类:
  • Java
阅读更多

      今天发现一个很NB的玩意,让我们在开发的时候修改Java文件,不用重启服务器立刻生效!支持Jetty tomcat jboss等很多服务器,它就是JRebel。

 

      http://www.zeroturnaround.com/jrebel/installation/ 这里有针对不同服务器的安装方法,基本上主流的都涵盖了,绝大多数程序员都能使用!我们公司用maven/jetty对项目进行构建和开发,下面我就来说下针对maven的使用,很简单!

 

      (一).下载javarebel.jar,此文件可以放在你本机的任何目录下,不需要放在项目中。

      (二).在pom.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>

 

      (三).添加javarebel-maven-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文件看看效果吧!

 

ps:以上这些配置只支持java文件,若修改xml还是需要重启的,当然JRebel也支持修改xml不重启,但需要配置其他的地方,这个就留给大家来发掘吧!o(∩_∩)o...

 

附件提供了javarebel安装指南(纯属网络资源),里面有说明怎么配置spring和struts,很实用哦!

 

感谢BeanSoft提供的破解版,地址在34楼!!!!!

分享到:
评论
25 楼 zyj517 2009-09-30  
这个tomcat都支持自动重新加载的啊!
24 楼 杰然不同 2009-09-30  
whaosoft 写道
加上这个 那我改 web xml还用重启吗?

偶还没仔细研究这个,要十一了心散了!!呵呵!不过我想应该是可以不用重启的,或者是通过某些设置达到不用重启的目的
23 楼 whaosoft 2009-09-30  
加上这个 那我改 web xml还用重启吗?
22 楼 lonelybug 2009-09-29  
搞清楚ClassLoader的基本原理你就可以自己实现了.
21 楼 ssuupv 2009-09-29  
把修改xml,增加变量,增加方法也打开。会有问题的
20 楼 GRDJE 2009-09-29  
呵呵,真是可怜啊
19 楼 風一樣的男子 2009-09-29  
tomcat 用 debug 模式本来就支持
不过金蝶的 apusic 就不支持,郁闷死了
18 楼 phlsbg 2009-09-29  
什么时候语言层面更动态了,就不用这玩意了。
17 楼 superhanliu 2009-09-29  
有时候修改了java文件,tomcat控制台会打印Log日志有关的类的什么乱七八糟的错误。。然后web请求都是处理不了了,必须重启。。
16 楼 javaOpen 2009-09-29  
唉。。。早用过了,还行。它里面用的javassist。
15 楼 joyfun 2009-09-28  
一直用tomcat 的reload  只要不添加方法和静态变量 tomcat 一般不会挂掉
14 楼 wubo19842008 2009-09-28  
这个玩意据说会让你的类文件混乱,如果出现问题很不好定位。
13 楼 xiaoshevip 2009-09-28  
个人感觉意义不大。热部署的口号已经喊很久了,资源文件和类的热加载本身没有错。如何解决热部署的的过程中应用程序的上下文信息和业务逻辑的上下文信息的一致性?这个不能保证就感觉没多大意义了
12 楼 grandboy 2009-09-28  
开发的时候, 我觉得Tomcat的reloadable就行了,虽然Tomcat加载次数多了,会有内存的问题,但是基本我觉得半天重启一次就行了。LZ这个东西可能对开发并不是很有用,但是对7*24的系统倒是很有用,修改完了,可以直接放在product server上去。这样就不用停服务器了。

但是不知道这个东西是不是适合放在product server上做这个工作? 性能和内存等有没有测试过?还有都支持哪些文件的动态加载(如:properties, xml等)?
11 楼 mdw211 2009-09-28  
一直在用,相当的好用。
10 楼 macmaoer 2009-09-28  
记得以前的javarebel是收费的,以前用的都是破解的,官方下的都只有30天的试用期
9 楼 zhangthe9 2009-09-28  
从1.0开始就用了 一直到现在的 2.0.3
除了beansoft 在 1.X时代放出的那个license,
2.X后网上貌似就没了 呵呵
不过CRACK它真是太容易了。。


还有个jspweaver, 用起来没啥感觉
现在还是javarebel嘛,
不是应该已经改成JRebel了嘛
8 楼 java.lang.Object 2009-09-28  
debug模式下都是支持直接修改生效的,session什么的都还在,前提是不能修改类的签名以及方法
7 楼 it.go 2009-09-28  
多数服务器都支持热部署热部署
6 楼 杰然不同 2009-09-28  
evanerv0079 写道
用开发模式,改有的xml文件都不用重启,例如weblogic和tomcat


嗯嗯!刚接触,还未深入研究!

相关推荐

    weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar

    总的来说,实现WebLogic下修改Java文件后无需重启的方法多种多样,关键在于合理配置开发环境和利用服务器的热部署功能。不过,需要注意的是,这种方法虽然提高了开发效率,但在生产环境中应谨慎使用,因为热部署可能...

    Java开发Web程序中修改类文件和配置文件不重启服务器的方法

    大家知道,在我们开发web项目的时候重启应用服务器是我们最烦恼的事情,每次修改类文件或者配置文件后,我们必须重启服务器来重新加载,使得我们的修改才能及时的显现出来,这个时候,我们只能等待服务器的重启,...

    java修改配置文件无需重启服务器方法.docx

    java修改配置文件无需重启服务器方法.docx

    实现ibatis手动控制加载sqlmap文件,终于不用重启应用了

    通常情况下,当我们修改了iBatis的SQL映射文件(sqlmap)后,需要重启应用服务器来使改动生效。这无疑降低了开发效率。然而,通过手动控制加载sqlmap文件,我们可以实现在不重启应用的情况下更新SQL映射,从而提高...

    修改java代码以及js无需重启tomcat

    本文将详细介绍如何配置Apache Tomcat,使得在修改Java源码或JavaScript文件后无需重启服务器即可看到效果,但同时也会强调修改XML配置文件时仍然需要重启的原因。 #### 二、Tomcat热部署原理概述 热部署(Hot ...

    Myeclipse中修改类及jsp文件后不用重启tomcat的方法

    完成以上配置后,当你在MyEclipse中修改类文件或JSP文件并保存时,MyEclipse应该能自动触发Tomcat的热部署,从而使更改立即生效,无需手动重启服务器。然而,需要注意的是,虽然这种方法可以提高开发效率,但在生产...

    IntelliJ IDEA修改了mybatis mapper xml后不用重启tomcat,自动热发布 热更新 热部署.zip

    在开发Java Web应用程序时,尤其是使用Mybatis作为持久层框架的时候,经常遇到的一个问题是:当我们在IntelliJ IDEA中修改了Mapper XML文件后,需要手动重启Tomcat服务器才能看到改动的效果,这无疑降低了开发效率。...

    jetty修改js不用重启项目的方法

    在开发过程中,频繁地修改JavaScript文件并希望即时看到效果是常见的需求,而每次修改后都需要重启Jetty服务无疑会降低开发效率。本文将详细介绍如何在Jetty环境中配置,使得修改js文件时无需重启项目即可生效。 1....

    jrebel 不用重启,直接改直接用 ,可改java类和配置文件

    标题中的“jrebel”是一款著名的Java开发工具,它允许开发者在不重启应用服务器的情况下,实时看到代码和配置文件的更改效果。这对于提高开发效率、加快迭代速度具有显著作用。这款工具尤其适合于大型项目或者频繁...

    编译class不用重启tomcat

    这样,开发者在IDE中保存代码后,无需重启服务器,就可以立即看到更改的结果。JRebel的工作原理是拦截类加载过程,动态地替换已加载的类,从而避免了整个应用的重启。 使用JRebel的步骤通常包括以下几个部分: 1. ...

    修改java 不重启tomcat

    为了解决这个问题,"修改Java代码不重启Tomcat"的技术应运而生,其中JRebel是一款非常著名的工具,它能够实现在不重启Tomcat的情况下热部署修改后的Java代码。 JRebel 是由Zeroturnaround公司开发的一款即时应用...

    web开发自动加载修改后的java文件

    "web开发自动加载修改后的java文件"这一技术就是为了应对这个问题而提出的,其核心是使用了JRebel插件。 JRebel是一款强大的实时应用服务器插件,它允许开发者在不重启服务器的情况下,实时地看到代码的更改。这...

    tomcat热部署+操作文档,修改任何java后台文件也不需要重启

    热部署是指在应用程序运行时,能够动态替换或更新应用的类文件或资源文件,而无需停止或重启服务器。在传统的开发流程中,每次代码更改都需要重新构建并启动服务器,这无疑浪费了大量时间。有了热部署,开发者可以...

    修改ibatis不用重启的方法

    在传统的开发流程中,修改了iBatis的mapper XML文件后,必须重启应用服务器才能使改动生效。但通过以下方法,我们可以避免这一繁琐步骤。 1. **配置热加载**:首先,我们需要在Spring或MyBatis的配置文件中启用热...

    eclipse修改代码后热部署(不需要重启服务

    然而,每次修改代码后都需要重启服务器以查看更改效果,这无疑降低了开发效率。为了解决这个问题,开发者通常寻求“热部署”解决方案,即在不重启服务器的情况下,能够实时应用代码变更。本篇文章将详细介绍如何在...

    jsp-解决文件上传后重启Tomcat时文件自动删除问题.docx

    该问题是指在jsp项目中上传文件后,重启Tomcat服务器或清理缓存时,上传的文件会自动删除的问题。 问题分析 在jsp项目中,我们通常使用DefaultServlet来处理文件上传请求。但是,在重启Tomcat服务器或清理缓存时,...

    idea intellij修改文件后不用重启tomcat的办法

    **JRebel** 是一个强大的热部署工具,它允许开发者在不重启服务器的情况下,实时看到代码变动的效果。这大大提高了开发效率,减少了等待时间。JRebel通过动态加载和解析类文件,使得应用程序能够立即识别并应用代码...

    用JAVA写的服务器

    例如,可以通过网络下载新版本的类并立即生效,而无需重启服务器。 3. **jar文件的生成加载**:JAR(Java Archive)文件是Java的归档文件格式,用于集合多个类文件和其他资源。Java程序可以通过Classloader加载JAR...

Global site tag (gtag.js) - Google Analytics