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

标签 java eclipse maven tomcat installation-package

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

我有一个用 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/

相关文章:

java - 将java值插入sqlite数据库

Eclipse 正在另一个文本编辑器中打开所有文件

java - Mac OSX 中的 Eclipse 中缺少 JRE

Maven - 无法找到有效的认证路径

java - 在 Java 或 C++ 中将 latex 转换为 html?

Java : how to send x emails per minute

java正则表达式在空白处分割,除了xml中的空白

java - 通过XML设置ListView的背景色

java - spring-boot-maven-plugin 重新打包执行默认失败

java - 运行 Google App Engine 快速入门时出错 : POM for com. google.appengine :appengine-maven-plugin:jar:1. 9.24 丢失