与.jar文件和弹簧启动混淆

时间:2017-03-06 14:17:46

标签: java tomcat spring-boot

我有点困惑,为什么我的应用程序正在运行。我有我的春季启动项目,编译成.jar

<groupId>Twitter</groupId>
    <artifactId>twitter-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

并且应用程序运行正常(它是简单的Web应用程序)。我在这里失踪的是,为什么它在<packaging>被设置为.jar而不是.war(对于web应用程序)时有效。我的意思是使用它&#34;通常&#34;我将.war文件放入webapp文件夹(谈论tomcat),然后访问它xxxx / myapp。但是在这里我把它打包成.jar并且它作为webapp工作。有人可以解释一下吗?在此先感谢大家!

2 个答案:

答案 0 :(得分:2)

Tomcat正在JAR中运行。 Spring Boot可以作为可执行JAR运行,而无需Java EE应用服务器或servlet / JSP引擎。

答案 1 :(得分:2)

通常,Spring Boot将servlet引擎嵌入到JAR中,并在此嵌入式servlet引擎(Jetty,Tomcat)中启动应用程序。看看Spring Boot Project

此功能称为

  
      
  • 创建独立的Spring应用程序
  •   
  • 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
  •   
相关问题