如何使用 Maven 将我的 Web 应用程序和 Tomcat 打包在一起?
我想分发打包为嵌入 Apache Tomcat 中的 WAR 的应用程序。也就是说,我想将 Tomcat 与我的应用程序一起分发。
如何使用 Maven 来完成这种分发打包?
我见过 Maven Cargo Plugin,但它似乎适合在本地容器中部署应用程序。也许我需要对 Cargo 插件进行额外的一步。 cargo:package
似乎很有趣,但缺乏文档。
I would like to distribute my application packaged as WAR embedded in Apache Tomcat. That is I want to distribute Tomcat along with my application.
How can this sort of distribution packaging can be done with Maven?
I have seen the Maven Cargo Plugin, but it appears to be geared towards deploying applications in containers locally. Perhaps an additional step over Cargo plugin is what I need. cargo:package
appears to be interesting but lacks documentation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
详细阐述 Tomasz 的评论,您可以执行以下操作来实现此目的。
下载 tomcat 并将其安装到本地存储库。
mvn install:install-file -DgroupId=org.apache -DartifactId=tomcat -Dversion=7.0.10 -Dpackaging=zip -Dfile=/path/to/file
使用
unpack
目标 < code>maven dependencyplugin 将 tomcat 解压到工作文件夹您可以参考此 pom.xml 和这个 程序集描述符。
Elaborating Tomasz's comment, you can do the following to achieve this.
Download and install tomcat to your local repository.
mvn install:install-file -DgroupId=org.apache -DartifactId=tomcat -Dversion=7.0.10 -Dpackaging=zip -Dfile=/path/to/file
Use
unpack
goal ofmaven dependency plugin
to unzip tomcat to a work foldermaven assembly plugin
to place the application war in webapps folder and create a zipYou can refer to this pom.xml and this assembly descriptor.
更好的方法可能是 Heroku 中指定的方法文档(虽然它也应该适用于非 Heroku 应用程序)
总结一下(以防万一链接失效)
Tomcat 嵌入包可以为您提供一个
Tomcat
API,您可以在其中引用它你的主要班级,你需要一个像这样的主类,
A better way could be something as specified in the Heroku documentation (Though it should work on non-heroku apps as well)
To summarize (Just in case the link dies)
Tomcat embed package can give you a
Tomcat
API which you can refer in one of your main class,And you would need a main class something like,