`
fantaxy025025
  • 浏览: 1247081 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

IDEA+Tomcat+JRebel热部署

 
阅读更多

 

From: http://wibiline.iteye.com/blog/2073399

在完成idea工程简单应用后,接下来实现热部署。

简单应用地址:http://wibiline.iteye.com/admin/blogs/2072454

一、安装JRebel插件

1. 在线安装

 File->setting或者直接点设置的图标进入



 

 在线下载并安装,安装的插件在C:\当前用户下\.jrebel 和.IntelliJIdea13

2. 破解插件

下载破解补丁具体要找到对应版本的,这边用的是5.5.2的破解版本(但实际安装的是5.5.3,照样可以使用)将破解版里面的jrebel.lic拷贝到C:\当前用户下\.jrebel 目录下;jrebel.jar替换C:\当前用户\.IntelliJIdea13\config\plugins\jr-ide-idea\lib目录下的jrebel.jar文件

打开idea后,看到jr图标就代表安装插件成功,还有在设置里面会多出Jrebel,如下:



 License为valid就代表破解成功了。

二、部署项目工程的两种方式

方式一、结合Artifacts部署项目

1. 打开项目配置project structure



 根据项目Modules配置Artificials

2. tomcat加载项目



 然后填写应用名称,转到Server页签进行配置



 两个地方都修改成Update classes and resource

3. 修改Jrebel参数



 设置redeploy时间,这样修改java文件后,jre会自动监测到。(不过这样设置是否会很占内存?)后台会有提示信息,如:2014-05-29 19:13:12 JRebel: Reloading class 'MyServlet'.

经过这三步设置,一般就可以了。这样貌似连rebel.xml都不用生成,就可以实现热部署了。记得以jr方式启动tomcat(就是点那个jr图标了),而不是直接启动tomcat。

方式二、External Source加载项目工程

1. 修改class输出目录

 
class文件输出到工程本身的WEB-INF目录下

2. tomcat加载项目

 选择到web工程的根目录即WebRoot,这个目录直接包含工程本身的jsp、html等文件还有我们配置的class输出内容。这样jsp有修改就可以直接显示,而class就由jre监测。

注:用这种方式加载项目的,在server里面就没有Update classes and resource了

3.生产rebel.xml

右键项目,可以看到Jrebel选项,选择rebel.xml即可自动生成,xml主要内容是监测class目录和web工程目录

4. 设置idea自动编译

 这4个步骤设置好,用jr启动tomcat就可以了。

 

总结:两种方式都是以tomcat目录下localhost的配置文件进行加载项目,配置文件里指定加载的路径。Artifacts方式的,class不仅要生成output,同时在Modules那边也会指定class的生成目录,感觉多生成了一份,没什么必要,不知道这样的好处在哪里,暂时不懂。而External Source加载项目工程的方式,直接在Modules指定class生成目录到本工程下,而jsp本身就是工程下面的,所以在tomcat的配置文件那边直接指定到工程目录下即可。所以个人暂时采用方式二进行处理,用一段时间试试。

遇到的问题:采用方式二部署项目的时候,tomcat启动,找不到工程的jar包,而工程明明有引入对应的jar包了。

问题原因:jar包目录lib跟web根目录同一级别,tomcat启动的时候无法加载到这个lib。虽然项目编译能通过,但发布的时候就会有问题。

问题解决:将lib目录放于WEB-INF目录下即可

 

 

=

=

=

+

=

=

=

 

分享到:
评论

相关推荐

    tomcat_热部署_jrebel6.4.3-cracked

    Tomcat的热部署(以后就不用重启了) 没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明...

    jrebel-idea6.4.8

    jrebel-idea6.4.8 idea jetty tomcat 热部署

    JRebel插件离线安装

    IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊。目前对于idea热部署最好的解决方案就是安装JRebel插件,这样不论是更新 class 类还是更新 Spring 配置...

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

    用eclipse开发开发web程序时候,修改代码了,每次都得重启,很不方便,我在网上找了好久,发下这个可以用!分享下经验! 没有图片哦

    idea 热部署

    JRebel 是一款热部署插件。当你的 java-web 项目在 tomcat 中 run/debug 的时候 ,修改某一个 java 文件时,tomcat 并不能将此文件的修改 实时编译 并反映到运行的项目中去。JRebel 就可以解决在项目运行状态run/...

    Java JRebel 免启动插件(破解版)

    IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊。目前对于idea热部署最好的解决方案就是安装JRebel插件,这样不论是更新 class 类还是更新 Spring 配置...

    JRebel-2020.1.1.zip

    JRebel是一款JVM插件,它使得Java代码修改后...IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。 目前对于idea热部署最好的解决方案就是安装JRebel插件。

    JRebel插件安装与使用图文教程.docx

    JRebel是一款JVM插件,它使得Java代码修改后...IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。 目前对于IDEA热部署最好的解决方案就是安装JRebel插件。

    JRebel Agent 6.3.0破解版

    将该资源添解压后加到tomcat的lib目录下,并在VM ...-noverify -javaagent:D:\Tools\apache-tomcat-8.0.46\lib\jrebel.jar -Drebel.disable_update=true 我是分割线|END|-------------------------------------------

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    10.1 开发的热部署 407 10.1.1 模板热部署 407 10.1.2 Spring Loaded 407 10.1.3 JRebel 409 10.1.4 spring-boot-devtools 413 10.2 常规部署 413 10.2.1 jar 形式 413 10.2.2 war 形式 417 10.3 云部署——基于...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    10.1 开发的热部署 407 10.1.1 模板热部署 407 10.1.2 Spring Loaded 407 10.1.3 JRebel 409 10.1.4 spring-boot-devtools 413 10.2 常规部署 413 10.2.1 jar 形式 413 10.2.2 war 形式 417 10.3 云部署——基于...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    10.1 开发的热部署 407 10.1.1 模板热部署 407 10.1.2 Spring Loaded 407 10.1.3 JRebel 409 10.1.4 spring-boot-devtools 413 10.2 常规部署 413 10.2.1 jar 形式 413 10.2.2 war 形式 417 10.3 云部署——基于...

Global site tag (gtag.js) - Google Analytics