Intelij IDEA + jRebel 如何配置基于 maven 的项目在 jetty 容器中的热部署?

2016-03-24 09:09:02 +08:00
 xiaofanz
昨天折腾到大半夜也没折腾出来 ,网上很多教程都不靠谱,要么都是太旧的版本
(我当前用的 Intellij IDEA2016.1+jetty7)
希望有经验的大神们指导一下,不甚感激!
5025 次点击
所在节点    Java
22 条回复
skyadmin
2016-03-24 09:36:15 +08:00
同好奇,热部署咋搞……?是不是不用重新编译自动重新部署?
YzSama
2016-03-24 09:38:00 +08:00
目前还在使用 idea14 。。热部署装好插件后,不是有两个 jr 按钮么?点击就是热部署了
letitbesqzr
2016-03-24 09:39:21 +08:00
直接点 jrebel 的启动不就可以了?

@skyadmin jrebel 的原理是监控 class 目录的修改,一有修改就重载,比如改了 spring mvc 的 controller 不光会重载 还会自动调用去重扫 url 。支持的框架还是比较多。平时几乎都不重启
YzSama
2016-03-24 09:40:20 +08:00
@skyadmin 你修改了 java 文件后,会自动重新编译修改的 java 文件为 class 。以至于不需要重新反覆重启编译项目所有文件
xcaspar
2016-03-24 09:43:47 +08:00
使用 JRebel 启动项目,更改代码后,编译项目即可,就会自动热部署。
xiaofanz
2016-03-24 09:46:41 +08:00
@YzSama 确实有两个 jr 按钮,但是先需要添加一个 run/debug configuration, 请问这里面怎么配置呢?
xiaofanz
2016-03-24 09:47:03 +08:00
@letitbesqzr jr 启动需要先添加一个 run/debug configuration, 请问这里面怎么配置呢?
xiaofanz
2016-03-24 09:47:26 +08:00
@xcaspar jr 启动需要先添加一个 run/debug configuration, 请问这里面怎么配置呢?
YzSama
2016-03-24 09:50:02 +08:00
@xiaofanz 我没用过 jetty ,我使用的是 tomcat 。我的部署方式和 eclipse 上差不多。。只是启动方式用 jr
xiaofanz
2016-03-24 09:51:44 +08:00
@YzSama 恩,我以前也是用的 tomcat+jrebel 实现热部署,但是现在项目迁移到 maven 了,所以不知道怎么弄了,请问你使用的是 maven 吗?
sorcerer
2016-03-24 09:54:01 +08:00
官网上有说的,直接右键创建一个 jrebel 配置文件,然后就会自动在 resource 目录生成一个 jrebel.xml ……那个文件有 class 目录和 webapp 目录配置,根据你的实际情况修改就行了
YzSama
2016-03-24 09:54:31 +08:00
@xiaofanz http://www.youmeek.com/intellij-idea-part-xviii-maven/
你可以上这个网址看看。。我没使用 maven 部署项目,以前有用过。具体的配置应该不难。仔细琢磨下
domty
2016-03-24 09:58:02 +08:00
我以前看到的是在 jetty 插件的配置文件里加信息,编写完 Java 代码快捷键重新编译,现在有更好的办法吗。
低配置电脑重启次 jetty 要 70-90s ,太慢了。
xiaofanz
2016-03-24 09:59:00 +08:00
@sorcerer rebel 文件 已经创建好了,但是这个 run/debug configuration 里面应该怎么配置呢?
Suclogger
2016-03-24 10:01:43 +08:00
@domty 我现在是停 jetty,mvn clean package -Dmaven.test.skip,再启 jetty,至少需要 5 分钟..太烦了..希望看到更好的方法
crytis
2016-03-24 10:17:24 +08:00
点击 build 菜单的 make project 就能重新加载,不用重启
pelloz
2016-03-24 11:34:26 +08:00
除了想办法热部署以外,你应该写单元测试,这样就不用来回启动浪费时间了。
ted05
2016-03-24 11:48:35 +08:00
在 edit configurations 的 vm options 加上-noverify -javaagent:D:/Java/jrebel/jrebel.jar
然后就可以用了。
rannnn
2016-03-24 12:58:38 +08:00
难道不是原来怎么启动的 jrebel 就怎么启动么。。 0 配置啊
sinsin
2016-03-24 13:10:36 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265936

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX