前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 项目部署实战:WAR 包部署与 Tomcat 安装

Spring Boot 项目部署实战:WAR 包部署与 Tomcat 安装

原创
作者头像
Front_Yue
修改2024-08-10 21:37:49
9540
修改2024-08-10 21:37:49
举报
文章被收录于专栏:后端技术探险家

引言

Spring Boot 是一个非常流行的 Java 框架,它简化了基于 Spring 的应用程序的创建和部署过程。虽然 Spring Boot 默认支持将应用程序打包成可执行的 JAR 文件,但在某些情况下,我们可能需要将其打包成 WAR 文件以便部署到传统的 Java 应用服务器(如 Tomcat)。本文将详细介绍如何将 Spring Boot 项目打包成 WAR 文件,并在 Tomcat 上进行部署。

修改 pom.xml 文件

首先,我们需要修改项目的 pom.xml 文件,以便将其配置为生成 WAR 文件。

代码语言:xml
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-spring-boot-app</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>war</packaging> <!-- 修改这里 -->

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 其他依赖 -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

排除嵌入式 Tomcat

由于我们要将应用程序部署到外部的 Tomcat 服务器,因此需要排除 Spring Boot 内置的 Tomcat。

代码语言:java
复制
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class MySpringBootApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(MySpringBootApplication.class).exclude({EmbeddedServletContainerCustomizer.class});
    }
}

打包 WAR 文件

在项目根目录下运行以下 Maven 命令来打包 WAR 文件:

代码语言:bash
复制
mvn clean package

打包完成后,你会在 target 目录下看到生成的 WAR 文件,例如 my-spring-boot-app-1.0-SNAPSHOT.war

安装和配置 Tomcat

在将 Spring Boot 项目部署到 Tomcat 之前,你需要确保已经正确安装并配置了 Tomcat 服务器。以下是安装和配置 Tomcat 的步骤:

1. 下载 Tomcat

首先,从 Apache Tomcat 官方网站 下载适合你操作系统的 Tomcat 版本。通常,你需要下载最新的稳定版本。

2. 解压 Tomcat

将下载的 Tomcat 压缩包解压到你选择的目录。例如,在 Linux 或 macOS 上,你可以使用以下命令:

代码语言:bash
复制
tar -xvzf apache-tomcat-x.y.z.tar.gz -C /path/to/your/directory

在 Windows 上,你可以使用解压缩工具(如 7-Zip)将压缩包解压到指定目录。

Tomcat目录结构:

代码语言:js
复制
 .
 ├── bin  ##存放启动、关闭tomcat或者其它功能的脚本(.bat文件和.sh文件)
 ├── BUILDING.txt
 ├── conf  ##存放tomcat配置相关的文件
 ├── CONTRIBUTING.md
 ├── lib  ##存放Web应用能访问的JAR包
 ├── LICENSE
 ├── logs  ##存放tomcat日志文件
 ├── NOTICE
 ├── README.md
 ├── RELEASE-NOTES
 ├── RUNNING.txt
 ├── temp  ##临时文件
 ├── webapps  ##Web应用程序的跟目录
 └── work  ##用以产生有JSP编译出的Servlet的.java和.class文件

3. 配置环境变量(可选)

为了方便在命令行中使用 Tomcat,你可以配置环境变量。在 Linux 或 macOS 上,编辑 ~/.bashrc~/.bash_profile 文件,添加以下内容:

代码语言:bash
复制
export CATALINA_HOME=/path/to/tomcat
export PATH=$PATH:$CATALINA_HOME/bin

在 Windows 上,右键点击“计算机”或“此电脑”,选择“属性”,然后点击“高级系统设置”>“环境变量”。在“系统变量”部分,点击“新建”,添加以下变量:

  • 变量名:CATALINA_HOME
  • 变量值:Tomcat 安装目录(例如 C:\path\to\tomcat
  • 变量名:PATH
  • 变量值:%PATH%;%CATALINA_HOME%\bin

4. 启动和停止 Tomcat

现在,你可以使用以下命令启动和停止 Tomcat:

代码语言:bash
复制
# 启动 Tomcat
startup.sh

# 停止 Tomcat
shutdown.sh

在 Windows 环境下,使用以下命令:

代码语言:cmd
复制
# 启动 Tomcat
startup.bat

# 停止 Tomcat
shutdown.bat

5. 验证 Tomcat 安装

启动 Tomcat 后,打开浏览器并访问 http://localhost:8080。如果看到 Tomcat 的欢迎页面,说明安装成功。

6. 配置 Tomcat

Tomcat 的主要配置文件位于 conf 目录下,包括 server.xmlcontext.xmlweb.xml 等。你可以根据需要修改这些文件以满足特定需求。例如,你可以更改端口号、添加虚拟主机或配置 SSL 等。

通过以上步骤,你已经成功安装并配置了 Tomcat 服务器。现在,你可以将 Spring Boot 项目打包成 WAR 文件,并将其部署到 Tomcat 上运行。

部署到 Tomcat

将生成的 WAR 文件复制到 Tomcat 的 webapps 目录下。Tomcat 会自动解压并部署该 WAR 文件。

代码语言:bash
复制
cp target/my-spring-boot-app-1.0-SNAPSHOT.war /path/to/tomcat/webapps/

启动 Tomcat

启动 Tomcat 服务器。你可以使用以下命令启动 Tomcat(假设 Tomcat 安装在 /path/to/tomcat 目录下):

代码语言:bash
复制
/path/to/tomcat/bin/startup.sh

或者在 Windows 环境下:

代码语言:cmd
复制
C:\path\to\tomcat\bin\startup.bat

访问应用程序

启动 Tomcat 后,你可以通过浏览器访问你的 Spring Boot 应用程序。默认情况下,URL 应该是 http://localhost:8080/my-spring-boot-app-1.0-SNAPSHOT/

结语

通过以上步骤,你已经成功地将 Spring Boot 项目打包成 WAR 文件,并了解了如何在 Tomcat 上进行部署,希望本文对你有所帮助。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 修改 pom.xml 文件
  • 排除嵌入式 Tomcat
  • 打包 WAR 文件
  • 安装和配置 Tomcat
    • 1. 下载 Tomcat
      • 2. 解压 Tomcat
        • 3. 配置环境变量(可选)
          • 4. 启动和停止 Tomcat
            • 5. 验证 Tomcat 安装
              • 6. 配置 Tomcat
              • 部署到 Tomcat
              • 启动 Tomcat
              • 访问应用程序
              • 结语
              相关产品与服务
              轻量应用服务器
              轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档