在现代软件开发中,Spring Boot作为一种流行的开发框架,允许开发者快速构建独立的、生产级的应用程序。在实际的项目部署中,有时需要将Spring Boot应用从JAR包打包成WAR包,以便能在外置容器如东方通TongWeb中部署。本文将详细介绍如何将Spring Boot项目转换为WAR包并在TongWeb中部署。

一、准备工作

  1. 环境准备:确保已安装好Java JDK、Maven以及东方通TongWeb。
  2. 项目结构:假设我们已有一个Spring Boot项目,结构如下:
my-spring-boot-app
 ├── src
 │   ├── main
 │   │   ├── java
 │   │   └── resources
 ├── pom.xml

二、修改pom.xml

pom.xml中,我们需要做以下几步修改,以支持WAR包的构建和外置容器的需求:

  1. packagingjar改为war
  2. 添加 spring-boot-starter-tomcat 的依赖,并设置为 provided,因为我们将由TongWeb提供Servlet容器。

示例pom.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>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <java.version>17</java.version>
        <spring-boot.version>2.5.4</spring-boot.version>
    </properties>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

三、创建SpringBootServletInitializer子类

创建一个继承SpringBootServletInitializer的主类,以便在外部容器中启动Spring Boot。

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
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);
    }
}

四、打包项目

打开你的命令行工具,导航到项目根目录,使用Maven命令构建WAR包:

mvn clean package

打包完成后,会在target目录下生成my-spring-boot-app-0.0.1-SNAPSHOT.war文件。

五、部署到TongWeb中

  1. 登录TongWeb管理后台,进入“应用管理”页面。
  2. 上传WAR包:点击“部署应用”,选择刚才生成的WAR包。
  3. 配置相关参数(如JDK版本、上下文路径等),完成后点击“确认”。
  4. 启动应用,检查应用是否正常运行。

六、总结

通过上述步骤,我们成功地将Spring Boot项目从JAR包转换为WAR包,并在东方通TongWeb中部署。使用外置容器不仅可以实现更好的资源管理,还能方便与其他应用的集成。在实际开发中,了解如何打包和部署应用是非常重要的,这将帮助我们更高效地进行项目管理和维护。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部