【问题标题】:Spring boot embedded tomcat what is the folder structure created in deployed machineSpring Boot嵌入式tomcat在部署机器中创建的文件夹结构是什么
【发布时间】:2019-02-25 21:15:33
【问题描述】:

如果我们运行 sprin-boot:run in linux

tomcat 运行路径在哪里。 jar和war的tomcat文件夹结构是什么。 是否会创建任何工作或 webApps 文件夹?

如何在linux中找到tomcat路径,它是作为单独的tomcat服务运行还是作为java应用服务运行。

假设任何带有 jsp 更改的热修复部署,如果有 webapps 是可能的,那么 Spring Boot 是否可能?

【问题讨论】:

  • 我假设您创建了一个可执行的 JAR 并使用 java -jar jar 启动它,对吗?然后将 Tomcat 嵌入到 jar 中。而且没有战争。或者你还有什么要问的吗?
  • 假设它是一个 Spring Boot Web 应用程序或要部署的 WAR,那么,它是正在运行的任何其他 tomcat 服务还是它的 java 应用程序服务。

标签: java spring-boot tomcat


【解决方案1】:

您将 Spring Boot 部署为可执行 JAR 并使用 java -jar 运行它。它是执行的主类。

Tomcat 或 Jetty 是 HTTP 监听器;它在 Spring Boot 中运行。这与创建 WAR 并将其部署到 Tomcat 正好相反。

没有创建工作或网络应用文件夹。

【讨论】:

  • 那么,它会是任何其他正在运行的tomcat服务还是它的java应用程序服务。
【解决方案2】:

Spring boot 中的嵌入式服务器

嵌入式服务器的想法是让服务器成为应用程序的一部分,所以在这种情况下能够直接部署到虚拟机,你只需要已经安装了java的虚拟机。

要使用 tomcat 的嵌入式服务,您需要在 pom.xml 中有此配置:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <version>2.0.0.RELEASE</version>
  <scope>compile</scope>
</dependency>

starter-tomcat 本身也有这些依赖:

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-core</artifactId>
  <version>8.5.23</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-el</artifactId>
  <version>8.5.23</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-websocket</artifactId>
  <version>8.5.23</version>
  <scope>compile</scope>
</dependency>

哪些 tomcat 依赖项足以将您的应用程序作为一个单独的 jar 运行。


总结

在 Spring Boot 中,当我们创建可部署的应用程序时,我们会将服务器嵌入到可部署的(例如 tomcat)中。这意味着,您可以生成一个包含嵌入式 Tomcat 的应用程序 jar。您可以将 Web 应用程序作为普通 Java 应用程序运行。因此,当您执行 mvn spring:boot run 时,它与执行 java -jar 命令完全相同,但 maven 也确保了一些细微的考虑:

  • 为您的应用程序提供了正确的参数
  • 确保您的应用程序已编译

更多信息

【讨论】:

    猜你喜欢
    • 2018-11-27
    • 1970-01-01
    • 2017-04-07
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 2014-09-16
    • 2016-04-12
    相关资源
    最近更新 更多