Java 如何在传统的tomcat webapps文件夹中部署spring boot MVC应用程序?

Java 如何在传统的tomcat webapps文件夹中部署spring boot MVC应用程序?,java,spring-mvc,tomcat,spring-boot,Java,Spring Mvc,Tomcat,Spring Boot,我创建了一个简单的springmvc应用程序,它遵循springboot springmvc和gradle示例 结构如下。 src/main/java—这是所有代码库所在的位置。 src/main/resources-所有资源/模板都在这里 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

我创建了一个简单的springmvc应用程序,它遵循springboot springmvc和gradle示例

结构如下。 src/main/java—这是所有代码库所在的位置。 src/main/resources-所有资源/模板都在这里

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 导入org.springframework.boot.SpringApplication; 导入org.springframework.boot.autoconfigure.springboot应用程序; @SpringBoot应用程序 公共类应用程序{ 公共静态void main(字符串[]args){ SpringApplication.run(Application.class,args); } } 只需编写上面的类,并且使用零配置,我就能够启动我的SpringMVCWeb应用程序(非常酷)。(通过命令gradlew build和gradlew bootrun) 但是来自传统的web应用程序开发和部署背景,我想知道如何从中创建war文件并将其部署到tomcat webapps文件夹中


此外,所有新资源(如js文件、css等)的存放位置。我们通常会有一个WEB-INF文件夹来保存它们,但是在这里做什么呢。

meskobalazs在构建war部署时回答了您关于资源的问题(但请注意,
src/main/webapp
不是作为jar部署中的资源文件夹读取的,在这种情况下,您必须将其添加为资源)

当您想将Spring Boot应用程序更改为web部署时,基本上需要做两件事:

  • 将项目的打包从jar转换为war
  • 将嵌入式tomcat的依赖项更改为提供

可以在Spring Boot include Tomcat容器上找到更多详细信息


您必须删除外部Tomcat来部署您的项目

如果您使用的是Maven项目,您需要修改pom.xml以将打包更改为war,如下所示

<packaging>war</packaging>
apply plugin: 'war'

构建项目后,它将创建war文件,这样您就可以轻松地部署到任何tomcat server webapps文件夹中。请参阅还有一个更重要的步骤。您还应该验证war文件的基本名称是否与src/main/resource/application.properties中的spring server.context-name匹配。这样,访问Sprn时URL将相同g引导加载的应用程序与Tomcat中的web应用程序。例如,要查看这两种部署,请在src/main/resource/application.properties中放置行“server.context path=/mycontext”,然后将mycontext-1.0.0.war部署到/webapps/mycontext.war