重启Intellij IDEA后,在Jrebel中可以看到,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目录
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的应用服务器
VM options:
输入内容:
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=4096m
-noverify
-javaagent:C:\Users\m\.IntelliJIdea14\config\plugins\jr-ide-idea\lib\jrebel\jrebel.jar
-Drebel.spring_plugin=true
补充:
-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就不会导致路径恢复默认了.