使用 Maven、Glassfish 和 JRebel 开发 servlet 的最快方法是什么?
仅使用命令行,启动嵌入式 glassfish 服务器对文件进行更改、重新编译,然后重新部署代码的最快方法是什么?
我正在使用:
mvnEmbedded-glassfish:run
- 在 vim 中更改一行代码
- 重新编译重新
- 打包项目,使用:
mvn -pl mymodule/myproject package -DskipTests
- 通过以下方式重新部署服务器按 Enter 键
重新编译并重建 war 文件需要一分钟以上的时间。嵌入式 glassfish 服务器可以在爆炸的 war 目录上使用吗?有没有更快的方法来开发 servlet 应用程序?
Just using the command line, what is the fastest way to fire up the embedded glassfish server make a change to a file, recompile, then redeploy the code?
I'm using:
mvn embedded-glassfish:run
- change a line of code in vim
- recompile
- repackage project using:
mvn -pl mymodule/myproject package -DskipTests
- redeploy the server by pressing enter
That takes upwards of a minute plus to recompile and rebuild the war file. Can the embedded glassfish server be used on an exploded war dir? Is there a faster way to develop a servlet app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你做错了。如果您使用 JRebel,则不应重新编译和重新打包完整的应用程序。您只需要重新编译更改后的类,然后 JRebel 应该会接受更改。
You're doing it wrong. You shouldn't recompile and repackage the full app if you're using JRebel. It's only the changed class that you need to recompile and JRebel should pick up the change then.
我没有使用过嵌入式Glassfish,所以我不知道我所做的是否更好,但这是我在开发战争时所做的。
I haven't used embedded Glassfish, so I don't know if what I do is better, but here is what I do when developing a war.
JRebel 应该对单个类文件进行热代码加载,为什么你不直接编译更改后的类并让 JRebel 为你发挥它的魔力呢?
JRebel was supposed to do hot code loading of individual class files, why are you not just compiling the changed class and letting JRebel do its magic for you?