博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
intellij idea 热部署 jrebel 详细配置
阅读量:4153 次
发布时间:2019-05-25

本文共 2508 字,大约阅读时间需要 8 分钟。

参考http://www.cnblogs.com/littlehb/archive/2013/04/19/3031045.html,顺便整理下步骤防止以后忘记。

一、软件安装

  1. ideaIU-12.1.1.exe 下载地址: 号器:???要低调,用社区版吧,如果想用Ultimate版,自己找算号器吧。
  2. apache-tomcat-7.0.39(64)下载地址: http://www.apache.org/dist/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz
  3. JRebel5.2.2 破解文件下载地址: 
  4. JRebel安装步骤:

    安装完ideaIU-12.0.exe之后,启动IntelliJ IDEA 12.0,进入Configure->Plugins,找到JRebel Plugins并选中(如图):

然后单击Browse repositories...,

找到JRebel Plugins右键Download and Install(如图):

安装完后,替换jrebel.jar:

[cpp] 
  1. copy jrebel.jar C:\Users\Administrator\.IntelliJIdea12\config\plugins\jr-ide-idea\lib\jrebel  
  2.   
  3. del/q C:\Users\Administrator\.jrebel\*.*  
  4.   
  5. copy jrebel.lic C:\Users\Administrator\.jrebel\jrebel.lic  
  6.   
  7. pause  

安装破解完毕之后:

到此,IDEA的JRebel安装完成.

======================================================================================

二. 对Web项目进行热部署测试

1.建立好Web项目,此处略过.

2. 将src\main目录下的webapp复制到project目录下(和src同级),改名为WebRoot.

2.进行设置File - Project Structure 

   (1) 设置Project compiler output 路径

(2) 设置modules的代码编译输出目录. 点击modules 设置右侧 use module compile output path

都是设置为project\WebRoot\WEB-INF\classes

点击Apply,

注意: Exclude Output Paths 这个勾选的话,WEB-INF目录下的classes目录在IDEA里面就会被隐藏起来.同时在旁边Sources选项卡中,可以通过Exclude Folders设置要在IDEA中隐藏的目录,比如WebRoot目录

(3)  指定Web.xml和WebRoot的路径. 点击web,分别指定

 Web Module deployment descriptor  路径为 project\WebRoot\WEB-INF\web.xml

和 Web Resource Directory的路径 为 project\WebRoot

点击Apply.

(4) 设置Artifacts 选中exploded 设置Output directory的路径


注意: 

三. 配置Tomcat

1.点击图示的按钮,进入服务器配置页面

2. 依次点开Defaults-Tomcat Server-Local,进入Local Tomcat(Tomcat模板)的设置界面,

3.点击Configure,设置Tomcat路径,并单击OK保存

4. 添加对应project的应用服务器

5.设置服务器名和 jvm参数 ,注意:javaagent 要设置为jrebel5.2.2破解文件所在目录.

[cpp] 
  1. -Xms2048m  //可以不要
  2. -Xmx2048m  //可以不要
  3. -XX:MaxPermSize=4096m  //可以不要
  4. -noverify  
  5. -javaagent:F:\开发环境\jrebel\jrebel5.2.2\jrebel.jar  
  6. -Drebel.spring_plugin=true  

补充:

 
-javaagent 参数

这个参数是 JDK5 引入的,可以通过 java -h 查看其帮助信息

通过使用 -javaagent 参数,用户可以在执行 main 函数前执行指定 javaagent 包中的特定代码,甚至可以动态的修改替换类中代码。

javaagent 的代码与你的 main 方法在同一个 JVM 中运行,并被同一个 system classloader 装载,被同一的安全策略(security policy) 和上下文(context)所管理。

-noverify 参数
通过使用 -noverify 参数,关闭 Java 字节码的校验功能。
当 ClassLoader 加载的Java 字节码时,字节码首先接受校验器(verifier)的校验。校验器负责检查那些指令无法执行的明显的破坏性的操作。校验器执行的检查操作:
1、变量要在使用之前进行初始化。
2、方法调用与对象应用类型之间要匹配。
3、访问私有数据和方法的规则没有被违反。
4、对本地变量的访问都在运行时堆栈内。
5、运行时堆栈没有溢处。

保存之后并点击Deployment选项卡,

选择exploded那项

右边设置访问的uri即应用路径,

保存,回到server选项卡,设置On Update action 和 On frame deactivation 两个动作都更新类和资源

最后注意为了防止点击 reimport按钮导致moudels 和 artifact 两个选项卡里面的路径恢复默认的问题

,点击图中右数第二个按钮进入maven设置:

点击maven---importing--- 把下图中的钩钩去掉:

这样reimport就不会导致路径恢复默认了.

你可能感兴趣的文章
两个linux内核rootkit--之二:adore-ng
查看>>
两个linux内核rootkit--之一:enyelkm
查看>>
关于linux栈的一个深层次的问题
查看>>
rootkit related
查看>>
配置文件的重要性------轻化操作
查看>>
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>
makefile中“-“符号的使用
查看>>
go语言如何从终端逐行读取数据?------用bufio包
查看>>
go的值类型和引用类型------重要的概念
查看>>
求二叉树中结点的最大值(所有结点的值都是正整数)
查看>>
用go的flag包来解析命令行参数
查看>>
来玩下go的http get
查看>>
队列和栈的本质区别
查看>>
matlab中inline的用法
查看>>
如何用matlab求函数的最值?
查看>>