使用 Maven、Glassfish 和 JRebel 开发 servlet 的最快方法是什么?

发布于 2024-11-09 03:32:50 字数 383 浏览 4 评论 0原文

仅使用命令行,启动嵌入式 glassfish 服务器对文件进行更改、重新编译,然后重新部署代码的最快方法是什么?

我正在使用:

  • mvnEmbedded-glassfish:run
  • 在 vi​​m 中更改一行代码
  • 重新编译重新
  • 打包项目,使用: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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

-小熊_ 2024-11-16 03:32:50

你做错了。如果您使用 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.

和影子一齐双人舞 2024-11-16 03:32:50

我没有使用过嵌入式Glassfish,所以我不知道我所做的是否更好,但这是我在开发战争时所做的。

  1. mvn package -P jr - 创建 target/project-1.0-SNAPSHOT 这是战争的内容。 -P jr 是配置为使用 JRebel 的配置文件。
  2. asadmin deploydir target/project-1.0-SNAPSHOT
  3. 现在您只需执行mvncompile,JRebel 将加载新编译的类。

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.

  1. mvn package -P jr - creates target/project-1.0-SNAPSHOT which is the contents of the war. The -P jr is a profile configured to use JRebel.
  2. asadmin deploydir target/project-1.0-SNAPSHOT
  3. Now you can just do mvn compile and JRebel will load the newly compiled class.
污味仙女 2024-11-16 03:32:50

JRebel 应该对单个类文件进行热代码加载,为什么你不直接编译更改后的类并让 JRebel 为你发挥它的魔力呢?

JRebel 是一个小型 JVM 插件,
使 Java 开发人员能够
立即查看所做的任何代码更改
到应用程序而无需重新部署。

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?

JRebel is a small JVM-plugin that
makes it possible for Java developers
to instantly see any code change made
to an app without redeploying.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文