Spring MVC项目为jar

时间:2015-09-19 15:09:52

标签: spring spring-mvc spring-boot spring-tool-suite spring-boot-maven-plugin

我是Spring MVC的新手,我现在已经开始讨论如何将您的Web项目部署为.jar。我的IDE是Spring Tool Suite。我一直使用.war + Apache Tomcat。

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

编辑:欢迎其他答案

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

答案 1 :(得分:2)

关于在同一台机器上安装.jar和Tomcat + .war,我可以使用它。这可能并不酷,但我在春季启动升级之前在tomcat服务器上运行了一个.war应用程序。现在我的新应用程序是Spring启动应用程序,我们正在将我们的架构迁移到SOA概念,但我们无法通过移动汽车改变轮胎。主应用程序,WAR在tomcat服务器上运行,其他(.jar)是自包含的(嵌入式tomcat),每个都运行在不同的端口。这是目前最可行的解决方案。