java maven如何用捆绑的tomcat创建app

时间:2014-10-08 13:55:46

标签: java eclipse maven tomcat installation-package

我想知道这是否有点尴尬的思维方式,但我无法在互联网上找到任何暗示我的想法。也许我只是没有说出我的问题,但无论如何,这就是我想做的事情:

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

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

有可能吗?这是一种理想的方法,还是我在这里完全错误的轨道?

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

任何提示???

1 个答案:

答案 0 :(得分:2)

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

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