SpringBoot项目打成War布署在Tomcat的详细步骤

下面为您介绍SpringBoot项目打成War包并部署在Tomcat的详细步骤。

一、将SpringBoot项目转化为War包

在pom.xml文件中修改packaging为war,添加servlet-api依赖。

<packaging>war</packaging>
<!-- 添加servlet-api依赖 -->
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

在启动类中继承SpringBootServletInitializer,并重写configure方法。

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

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

}

接着在项目的根目录执行以下命令:

mvn clean package

即可在target目录下生成war包。

二、Tomcat部署War包

将生成的war包拷贝到tomcat安装目录的webapps下,重启Tomcat即可。也可以使用Tomcat的Manager页面进行部署,以下为具体操作步骤:

  1. 打开Tomcat的Manager页面,输入用户名和密码。

地址:http://localhost:8080/manager/html
用户名:admin
密码:admin

  1. 选择“WAR file to deploy”,点击“浏览”选择要部署的war包。

  2. 单击“上传”即可上传部署war包。

  3. 选择“Deploy”按钮完成部署。

三、两个示例

示例一:SpringBoot Web项目转化为War包并部署在Tomcat上

假设我们有一个SpringBoot Web项目,项目名称为spring-boot-app,端口为8080,在启动类中使用了@RestController注解。

  1. 在pom.xml文件中修改packaging为war,添加servlet-api依赖。修改后的pom.xml如下:
<groupId>com.example</groupId>
<artifactId>spring-boot-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 添加servlet-api依赖 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
  1. 在启动类中继承SpringBootServletInitializer,并重写configure方法。
@SpringBootApplication
@RestController
public class MyApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MyApplication.class);
    }

    @GetMapping("/hello")
    public String hello() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}
  1. 执行以下命令,将SpringBoot项目打成war包:
mvn clean package
  1. 将war包复制到Tomcat的webapps目录下:
cp spring-boot-app-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/
  1. 重启Tomcat。

  2. 在浏览器中访问http://localhost:8080/spring-boot-app/hello,即可看到输出结果为“Hello World!”。

示例二:SpringBoot项目和Spring MVC项目部署在同一个Tomcat上

假设我们有一个SpringBoot项目,项目名称为spring-boot-app,端口为8080,在启动类中使用了@RestController注解;同时有一个Spring MVC项目,项目名称为spring-mvc-app,在Controller类中使用了@RequestMapping注解。

  1. 分别将SpringBoot项目和Spring MVC项目打成war包。

  2. SpringBoot项目打成war包的步骤在示例一中已经介绍过,这里不再重复。

  3. Spring MVC项目打成war包的步骤也和示例一类似,需要在pom.xml文件中修改packaging为war,添加servlet-api依赖。

  4. 将war包复制到Tomcat的webapps目录下,例如:

cp spring-boot-app-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/
cp spring-mvc-app.war /usr/local/tomcat/webapps/

  1. 启动Tomcat,访问http://localhost:8080/spring-boot-app/hello,和http://localhost:8080/spring-mvc-app/hello,即可分别看到SpringBoot项目和Spring MVC项目的输出结果。

以上就是将SpringBoot项目打成War包并部署在Tomcat的详细步骤,以及两个示例。希望能够对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目打成War布署在Tomcat的详细步骤 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 使用Java实现类似Comet风格的web app

    针对使用Java实现类似Comet风格的web app,我可以给您提供以下的攻略: 一、了解Comet Comet是一种Web服务器向浏览器发送异步数据的技术。在传统的Web应用程序中,客户端通过HTTP协议发起请求,服务器收到请求后即时返回响应。而Comet则是一种在Web服务器与浏览器之间建立持久连接的技术,使得服务端可以在有数据更新时主动向客户端推送数…

    Java 2023年5月19日
    00
  • Java Spring的refresh方法你知道吗

    当我们在Java Spring应用程序中使用对象以及bean定义时,有些情况下我们需要按需重新加载或刷新这些bean。在这种情况下,Java Spring提供了refresh方法,可以在运行时动态地重新加载或刷新bean。 什么是refresh方法 refresh方法是将ApplicationContext的状态清除并重新读取bean定义文件的方法。在调用r…

    Java 2023年5月31日
    00
  • 有关Java中的BeanInfo介绍

    一、BeanInfo是什么 BeanInfo是Java语言中一个专门为Java Bean设计的接口,用于操作Bean的元数据信息。BeanInfo主要描述了一个Java Bean的属性、方法、事件等信息,BeanInfo主要是为Java图形界面编辑器提供Bean对象的界面定制化功能而使用,其中面向对象的特性使得BeanInfo的属性信息更加具有灵活性。Bea…

    Java 2023年5月20日
    00
  • 使用springboot打包成zip部署,并实现优雅停机

    使用springboot打包成zip部署可以方便地将应用程序部署到任何环境中。配合优雅停机功能可以在应用程序需要停止运行时,平滑地关闭运行中的所有任务,确保应用程序不会因为意外关机而出现问题。下面是实现这一目标的完整攻略。 准备工作 在开始之前,需要先准备好以下环境和工具:- JDK 1.8 或以上版本- Maven 3.3 或以上版本- SpringBoo…

    Java 2023年5月20日
    00
  • 下载远程maven仓库的jar 手动放到本地仓库详细操作

    下面是下载远程maven仓库的jar 手动放到本地仓库的详细攻略: 准备工作 在进行手动安装过程前,请确保以下工作已经完成: 安装了 Maven,并配置好了环境变量。 存在一个 Maven 仓库地址,可以是远程仓库地址或本地仓库地址。 手动下载 jar 包 首先,你需要手动下载需要安装的 jar 包。可以在 Maven 仓库中寻找需要的 jar 包的地址,也…

    Java 2023年6月2日
    00
  • RMI使用学习 小结

    RMI使用学习 小结 1. RMI简介 RMI(远程方法调用)是Java编程语言中用于实现远程过程调用的应用程序编程接口。RMI使一个Java虚拟机上的对象能够调用在另一个Java虚拟机上的对象的方法。RMI实现了对象级别的远程过程调用,用户不必关心底层的网络通讯细节。 RMI使用Java远程调用(Java Remote Method Invocation)…

    Java 2023年6月15日
    00
  • Springboot热部署实现原理及实例详解

    Spring Boot 热部署实现原理及实例详解 什么是热部署 热部署(Hot swapping)是指在应用程序运行时,无需停止或重启应用程序,就可以实时更新部分或全部代码和配置。热部署可以提高应用程序的开发和测试效率,缩短开发和测试的周期,特别是对于大型项目和复杂项目来说,效果尤为明显。 Spring Boot 热部署实现原理 Spring Boot 应用…

    Java 2023年5月19日
    00
  • java堆栈类使用实例(java中stack的使用方法)

    标题:Java堆栈类使用实例 堆栈概述 堆栈(Stack)是一种特殊的线性数据结构,它只允许在一端进行插入和删除操作。堆栈遵循先进后出(Last-In-First-Out)的原则,即最后插入的元素最先删除。 Java中提供了Stack类来实现堆栈,Stack类继承了Vector类,并添加了支持堆栈的方法。 Stack类的常用方法 Stack类提供了以下常用方…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部