关于 java:Reload classes in a webapp in a webapp in Jetty

Reload classes in a webapp in Jetty

基本上我在 Jetty 中寻找 Tomcat 中 reloadable 属性的等价物:

https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Common_Attributes

我想以这样的方式配置我的开发环境,我只编译一个类,服务器检测到更改并自动重新加载。

在 Jetty,我见过的最接近的是这 2 个:

https://www.eclipse.org/jetty/documentation/current/hot-deployment.html
https://www.eclipse.org/jetty/documentation/current/deployment-architecture.html#default-web-app-provider

但它们只是检测何时添加/删除了新应用程序(war 文件或目录)。


使用 jetty-maven-plugin 和它的 startrun 目标风格之一(有几个选择,整个服务器,只是一场 war 等,所以使用适合你想要完成的目标)

当它检测到您想要触发的更改类型时,它将热重新加载您活动项目的 web 应用程序。

但请记住,某些技术选择将"装订"类加载器和某些类,防止它们被垃圾收集,从而导致某些类无法重新加载并引入内存泄漏。

参见:https://www.eclipse.org/jetty/documentation/current/preventing-memory-leaks.html