从IntelliJ IDEA(Scala,SBT)中发射和重新加载Jetty



我是Java世界的新手,我正在开发一个使用IntelliJ IDEA在Jetty上运行的Scala应用程序(使用Scalatra和SBT)。为了获得更快的工作流程,我希望能够从 IDE 中启动 Jetty,并能够在不重新启动 Jetty 服务器的情况下更新代码。

目前,我使用 IntelliJ 的 Jetty 插件,它允许我在 Jetty 服务器上启动项目,但编译整个项目并重新启动 Jetty,这需要花费大量时间。有没有一种好方法可以更快地做到这一点?我已经检查了JRebel(不幸的是,在这一点上太贵了)。我是否需要JRebel/DCEVM,或者这只是配置Jetty的问题?

您的应用程序需要布局,以便在编译时 Jetty 可以直接读取工件并重新加载它们。您可以尝试使用此插件直接作为 sbt 的一部分运行码头。https://github.com/earldouglas/xsbt-web-pluginJava 将重新加载类文件,但对于可以重新加载的内容(如方法主体)有一些规则。其他明智的,您需要JRebel或替代方案。这里有一个 IntelliJ 博客可能会有所帮助。http://blog.jetbrains.com/idea/2013/07/get-true-hot-swap-in-java-with-dcevm-and-intellij-idea/

最新更新