gpt4 book ai didi

java maven如何使用捆绑的tomcat创建应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:04 24 4
gpt4 key购买 nike

我想知道这是否是一种有点尴尬的思维方式,但我真的无法在互联网上找到任何提示来说明我的想法。也许我只是没有正确表达我的问题,但无论如何,这就是我想做的:

我有一个用 java 编写的复杂应用程序,使用 spring 和 quartz 以及一大堆依赖项。该应用程序在 apache tomcat servlet 容器中运行。现在我知道,我可以创建一个 war 文件并将其部署到生产服务器机器上(在我们的内部 IT 在该机器上安装和配置 tomcat 之后),但我想做一些不同的事情。

我希望 maven 创建一个预打包的 tomcat 应用程序服务器,其中包含所有依赖项和配置设置以及我的应用程序。实际上,在生产系统上需要做的就是,将包(或 zip 或 tar.gz 或任何需要的)复制到服务器,将其解压缩到我或他们选择的目录中,然后启动这个本地孤立的 Tomcat 。它只会运行我的应用程序(无论如何都会给机器带来足够的负载),我什至可以到目前为止部署第二个变体,比如为第一个旁边的目录中的不同客户部署。两者都不会相互干扰,即使它们使用具有不同依赖性的不同版本也是如此。

这有可能吗?这是一种理想的方法还是我走错了路?

我认为这种方法的好处(尽管两个或多个不同安装之间存在不兼容的依赖关系或设置)是,我可以将整个包交给我们的管理人员,他们可以简单地将它部署到安装后无需在tomcat中进行任何配置的服务器等等。

有什么提示吗???

最佳答案

创建一个 Maven 项目作为父项目(类型 pom)。将您的 webapp 作为模块项目包含在内(类型 war)。创建另一个模块项目,可能是“myapp-standalone”(类型 jar)并包含 Embeddable Tomcat作为依赖。编写启动类以启动内部 Tomcat(请参阅 executable jar/überjar)。构建应用程序时,copy the created war file into the jar , 进入 Tomcats webapp 目录。

您的启动器类需要确保当前 Tomcat 的端口尚未使用。

关于java maven如何使用捆绑的tomcat创建应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26258715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com