2

我是 Spring MVC 的新手,现在我遇到了一些教程,这些教程解释了如何将你的 web 项目部署为 .jar。我的 IDE 是 Spring Tool Suite。我一直使用 .war + Apache Tomcat。

有人可以从实际的角度详细说明为什么使用 .jar 而不是 .war 吗?有什么需要注意的问题吗?

编辑:也欢迎其他答案

4

2 回答 2

2

Spring Boot 使用胖 JAR 封装,其中将具有所有依赖项的 Servlet 容器嵌入到这个单个 JAR 中。

如果您使用的是 Maven,则它用于spring-boot-maven-plugin打包项目。

这种方法的实际使用很简单。能够从具有外部属性的命令行轻松运行基于 Srvlet 的 Spring 应用程序。这种配置实现了强大的编排可能性,这在现代企业中通常用于所谓的微服务或 SOA 架构中。

有一群人(包括我自己)认为将不相关应用程序的各种 WAR 文件部署到单个 Servlet 运行时不是一个好主意。

因此,胖 JAR 对于每个应用程序部署的单独 Servlet 运行时非常方便。

于 2015-09-19T16:05:04.100 回答
2

关于在同一台机器上拥有 .jar 和 Tomcat + .war 是可能的,我使用它。这可能并不酷,但在 Spring Boot 兴起之前,我在 tomcat 服务器中运行了一个 .war 应用程序。现在我的新应用程序是 spring boot 应用程序,我们正在将我们的架构迁移到 SOA 概念,但是我们不能随着移动的汽车更换轮胎。主应用程序,WAR 运行在一个 tomcat 服务器中,其他的(.jar)是自包含的(嵌入式 tomcat),每个都在不同的端口上运行。这是目前我们可用的最可行的解决方案。

于 2016-06-02T13:11:33.300 回答