【问题标题】:What is the recommended way to develop wars for an embedded jetty server in eclipse?在 Eclipse 中为嵌入式码头服务器开发战争的推荐方法是什么?
【发布时间】:2020-06-27 17:34:38
【问题描述】:

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

这个基本架构运行良好,但在开发周期中,我需要构建每个应用程序战争,然后使用嵌入式码头服务器运行整个事情。我希望在对任何应用程序文件进行更改时自动部署整个事情。

关于如何做到这一点的任何想法?

【问题讨论】:

  • 为什么你认为 Eclipse 是相关的?
  • 查看 SpringBoot。您可以让每个项目保持独立,嵌入服务器(默认为 Tomcat IIRC,但可以切换到 Jetty),您需要做的就是设置端口。
  • @Michael 因为我们正在做的开发周期发生在 eclipse 中。
  • @RicardoMarimon 这不是偶然的吗?
  • @Michael 确实如此。但我认为,为了更快地从战争中的文件更改到正在运行的服务器,付出额外的努力是值得的。除此之外,它工作正常。

标签: java eclipse development-environment embedded-jetty


【解决方案1】:

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

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

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

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

如果您更改类或库,则会出现与内存泄漏和固定类加载器有关的一类问题,这可能会导致重新加载的 web 应用程序无法按预期运行。

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

【讨论】:

  • 感谢@Joakim,经过一些调整,这最终完美运行..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 2023-02-21
  • 2011-08-27
相关资源
最近更新 更多