在 Eclipse 中为嵌入式码头服务器开发战争的推荐方法是什么?
What is the recommended way to develop wars for an embedded jetty server in eclipse?
我正在开发一组共享一些公共端点的独立应用程序。我设置它的方式是让每个应用程序都是独立的 war,并有一个提供这些公共端点的嵌入式码头服务器。嵌入式码头服务器设置端点并在启动时加载 wars。我们的每个客户都会安装不同的应用程序,但总会有共同的部分,因此需要有独立可安装的应用程序 wars。
这个基本架构工作正常,但在开发周期中,我需要构建每个应用程序 war,然后 运行 使用嵌入式码头服务器构建整个应用程序。当对任何应用程序文件进行更改时,我希望整个过程能够自动部署。
关于如何做到这一点有什么想法吗?
使用 DeploymentManager
和 WebAppProvider
查找网络应用程序并部署它们(它会在更改时自动重新部署)。
然后将您的部署设置为使用展开的 webapp 目录,而不是 war 文件。
您甚至可以选择在一个地方设置部署 XML,指向每个 webapp 项目的 target/${project.build.finalName}
目录(如果使用 maven)的内容。
这适用于很多事情,但不是所有事情。
如果您更改 类 或库,则存在一类与内存泄漏和固定类加载器相关的问题,这可能会导致您重新加载的 webapp 无法按预期运行。
见
https://www.eclipse.org/jetty/documentation/current/preventing-memory-leaks.html
我正在开发一组共享一些公共端点的独立应用程序。我设置它的方式是让每个应用程序都是独立的 war,并有一个提供这些公共端点的嵌入式码头服务器。嵌入式码头服务器设置端点并在启动时加载 wars。我们的每个客户都会安装不同的应用程序,但总会有共同的部分,因此需要有独立可安装的应用程序 wars。
这个基本架构工作正常,但在开发周期中,我需要构建每个应用程序 war,然后 运行 使用嵌入式码头服务器构建整个应用程序。当对任何应用程序文件进行更改时,我希望整个过程能够自动部署。
关于如何做到这一点有什么想法吗?
使用 DeploymentManager
和 WebAppProvider
查找网络应用程序并部署它们(它会在更改时自动重新部署)。
然后将您的部署设置为使用展开的 webapp 目录,而不是 war 文件。
您甚至可以选择在一个地方设置部署 XML,指向每个 webapp 项目的 target/${project.build.finalName}
目录(如果使用 maven)的内容。
这适用于很多事情,但不是所有事情。
如果您更改 类 或库,则存在一类与内存泄漏和固定类加载器相关的问题,这可能会导致您重新加载的 webapp 无法按预期运行。
见 https://www.eclipse.org/jetty/documentation/current/preventing-memory-leaks.html