在 Eclipse 中为嵌入式码头服务器开发战争的推荐方法是什么?

What is the recommended way to develop wars for an embedded jetty server in eclipse?

我正在开发一组共享一些公共端点的独立应用程序。我设置它的方式是让每个应用程序都是独立的 war,并有一个提供这些公共端点的嵌入式码头服务器。嵌入式码头服务器设置端点并在启动时加载 wars。我们的每个客户都会安装不同的应用程序,但总会有共同的部分,因此需要有独立可安装的应用程序 wars。

这个基本架构工作正常,但在开发周期中,我需要构建每个应用程序 war,然后 运行 使用嵌入式码头服务器构建整个应用程序。当对任何应用程序文件进行更改时,我希望整个过程能够自动部署。

关于如何做到这一点有什么想法吗?

使用 DeploymentManagerWebAppProvider 查找网络应用程序并部署它们(它会在更改时自动重新部署)。

然后将您的部署设置为使用展开的 webapp 目录,而不是 war 文件。

您甚至可以选择在一个地方设置部署 XML,指向每个 webapp 项目的 target/${project.build.finalName} 目录(如果使用 maven)的内容。

这适用于很多事情,但不是所有事情。

如果您更改 类 或库,则存在一类与内存泄漏和固定类加载器相关的问题,这可能会导致您重新加载的 webapp 无法按预期运行。

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