如何在传统 tomcat webapps 文件夹中部署 spring 启动 MVC 应用程序?
How to deploy a spring boot MVC application in traditional tomcat webapps folder?
我在 springboot springmvc with gradle 示例之后创建了一个简单的 spring mvc 应用程序。
结构如下。
src/main/java - 这是所有代码库所在的位置。
src/main/resources - 这是所有 resources/templates 所在的位置。
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);
}
}
只需编写上面的 class 并使用零配置,我就能够启动我的 spring-mvc web 应用程序(这非常酷)。 (通过命令 gradlew build 和 gradlew bootrun)
但是来自传统的 Web 应用程序开发和部署背景,我想知道如何从中创建一个 war 文件并将其部署到 tomcat webapps 文件夹中。
此外,所有新资源(如 js 文件、css 等)的保存位置。我们通常会有一个 WEB-INF 文件夹来保存它们,但是在这里做什么。
meskobalazs 在构建 war 部署时回答了您关于资源的问题(但请注意 src/main/webapp
未被读取为 jar 部署,在这种情况下,您必须将其添加为资源)。
当您想将 Spring-Boot 应用程序更改为 Web 部署时,您基本上必须做两件事:
- 将项目的包装从 jar 转换为 war
- 将内嵌的依赖tomcat改为provided
上找到更多详细信息
Spring 引导包括 Tomcat 容器。
您必须删除外部 Tomcat 才能部署您的项目
如果你使用的是Maven项目你需要修改pom.xml将 包装更改为 war,如下所示
<packaging>war</packaging>
并且如果您正在使用 Gradle 项目您需要修改 build.gradle 如下
apply plugin: 'war'
构建项目后,它将创建 war 文件,因此您可以轻松部署到任何 tomcat 服务器 webapps 文件夹
我在 springboot springmvc with gradle 示例之后创建了一个简单的 spring mvc 应用程序。
结构如下。 src/main/java - 这是所有代码库所在的位置。 src/main/resources - 这是所有 resources/templates 所在的位置。
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); } }
只需编写上面的 class 并使用零配置,我就能够启动我的 spring-mvc web 应用程序(这非常酷)。 (通过命令 gradlew build 和 gradlew bootrun) 但是来自传统的 Web 应用程序开发和部署背景,我想知道如何从中创建一个 war 文件并将其部署到 tomcat webapps 文件夹中。
此外,所有新资源(如 js 文件、css 等)的保存位置。我们通常会有一个 WEB-INF 文件夹来保存它们,但是在这里做什么。
meskobalazs 在构建 war 部署时回答了您关于资源的问题(但请注意 src/main/webapp
未被读取为 jar 部署,在这种情况下,您必须将其添加为资源)。
当您想将 Spring-Boot 应用程序更改为 Web 部署时,您基本上必须做两件事:
- 将项目的包装从 jar 转换为 war
- 将内嵌的依赖tomcat改为provided
Spring 引导包括 Tomcat 容器。
您必须删除外部 Tomcat 才能部署您的项目
如果你使用的是Maven项目你需要修改pom.xml将 包装更改为 war,如下所示
<packaging>war</packaging>
并且如果您正在使用 Gradle 项目您需要修改 build.gradle 如下
apply plugin: 'war'
构建项目后,它将创建 war 文件,因此您可以轻松部署到任何 tomcat 服务器 webapps 文件夹