spring boot项目打包成war在tomcat运行的全步骤

下面是详细的步骤。

1.创建Spring Boot项目

首先,需要使用Spring Initializr创建一个Spring Boot项目。这里我们以创建一个简单的Spring Boot RESTful应用为例。

可以使用如下命令创建:

curl https://start.spring.io/starter.zip -o myproject.zip
unzip myproject.zip -d myproject

然后,编辑build.gradle文件,添加如下依赖项:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}

这里的providedRuntime表示Tomcat不会打包进我们的应用程序,而是由外部Tomcat容器来提供。

2.构建打包成war

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

./gradlew build

或者

mvn package

即可构建项目并生成可执行的war文件。可以在build/libs/目录下找到生成的war文件。

3.配置Tomcat

将war文件部署到Tomcat服务器,这里以Tomcat 9为例。

  • 将生成的war文件复制到Tomcat的webapps/目录下。
  • 启动Tomcat服务器,war文件会自动解压并部署。
  • 访问http://localhost:8080/your-project-name/即可看到我们的应用程序页面。

需要注意的是,在使用外部Tomcat容器时,我们需要指定servlet容器为Tomcat,如下所示:

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(YourProjectNameApplication.class);
    }
}

示例1:使用Gradle

为了演示如何使用Gradle构建和打包Spring Boot应用程序,我们将创建如下的RESTful服务。

创建Spring Boot项目:

使用Gradle构建Spring Boot项目:

plugins {
    id 'org.springframework.boot' version '2.5.0'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

创建一个名为MyController的类:

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

使用Gradle构建项目:

./gradlew build

运行命令会自动编译我们的应用程序,并打包成war文件。可以在build/libs/目录找到生成的war文件,例如my-app-0.0.1-SNAPSHOT.war

示例2:使用Maven

为了演示如何使用Maven构建和打包Spring Boot应用程序,我们将创建如下的RESTful服务。

创建Spring Boot项目:

使用Maven构建Spring Boot项目:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <name>my-app</name>
    <description>spring boot demo</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>11</java.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-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

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

</project>

创建一个名为MyController的类:

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

使用Maven构建项目:

mvn package

运行命令会自动编译我们的应用程序,并打包成war文件。可以在target/目录找到生成的war文件,例如my-app-0.0.1-SNAPSHOT.war

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring boot项目打包成war在tomcat运行的全步骤 - Python技术站

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

相关文章

  • 详解使用Jenkins自动编译部署web应用

    详解使用Jenkins自动编译部署web应用 简介 Jenkins是一个开源的、支持持续集成和持续交付的软件开发工具。使用Jenkins可以编译、打包、测试和部署你的web应用程序。本文将详细讲解如何使用Jenkins自动编译部署web应用。 环境配置 在开始使用Jenkins自动编译部署web应用之前,需要进行一些环境配置。以下是环境配置的步骤: 安装Je…

    Java 2023年5月26日
    00
  • 为什么继续选择DELPHI(即将逝去的Delphi前景在何方)

    为什么继续选择DELPHI(即将逝去的Delphi前景在何方) 背景 Delphi是一种基于Object Pascal编程语言的集成开发环境,由Borland公司在1995年发布。自发布以来,Delphi为数不少的开发者提供了稳定快捷、功能丰富的编程环境。然而,随着新的技术不断涌现,Delphi市场份额逐渐萎缩,导致一些人对其前景存在疑虑。但是,选择Delp…

    Java 2023年5月19日
    00
  • spring boot实现超轻量级网关的方法(反向代理、转发)

    下面我将为您详细讲解“springboot实现超轻量级网关的方法(反向代理、转发)”的完整攻略,并且会提供两条示例。 一、什么是网关 网关,即API Gateway,是Web应用程序的入口,起到了路由、反向代理、安全、监管等多种职能。它作为整个系统的统一入口,通过对请求的识别、路由分发、请求转发等方式,协助后端实现服务的合理提供。 二、网关的优点 可以做一些…

    Java 2023年5月15日
    00
  • MyBatis入门实例教程之创建一个简单的程序

    首先我们需要明确一下MyBatis的基础知识。MyBatis是一个持久层框架,可以与关系型数据库进行交互。在使用MyBatis时,我们需要进行以下三步操作: 配置数据源:需要在MyBatis的配置文件中配置数据库的连接信息。 编写Mapper文件:Mapper文件是MyBatis的核心,用于描述SQL语句以及与Java对象之间的映射关系。 执行SQL语句:通…

    Java 2023年5月20日
    00
  • php如何调用webservice应用介绍

    什么是Web Service Web Service是一种基于网络的技术,用于实现不同程序之间的互操作性。Web Service通过标准化的协议和格式,允许应用程序通过HTTP请求进行远程方法调用,以获取和传递数据和服务。PHP是一种流行的编程语言,具有广泛的支持和适合于Web Service调用。下面我们来详细了解如何在PHP中调用Web Service。…

    Java 2023年5月19日
    00
  • Spring JDBC的使用详解

    下面我来介绍一下Spring JDBC的使用详解攻略。 前置条件 在使用Spring JDBC之前,需要保证以下条件得到满足: 首先需要添加Spring JDBC相关的依赖包,如spring-jdbc。 在应用程序的配置文件中,需要配置数据源。这里以MySQL数据源为例,配置好数据源的连接信息,并在配置文件中声明数据源的bean。 Spring JDBC的基…

    Java 2023年5月20日
    00
  • Spring Security 多过滤链的使用详解

    下面我来详细讲解“Spring Security 多过滤链的使用详解”的完整攻略。 什么是多过滤链? Spring Security 多过滤链是指在同一个应用程序中为不同的 URL 模式定义不同的过滤器链。这样做的目的是为了更好的控制应用程序的安全访问权限,从而满足不同的安全要求。比如,一些 URL 需要进行用户认证和授权,而另一些 URL 只需要进行简单的…

    Java 2023年5月20日
    00
  • JSP页面中如何用select标签实现级联

    要在JSP页面中使用select标签实现级联,可以遵循以下步骤: 确定级联关系 在使用select标签实现级联前,需要确定级联关系,即第一个下拉框的选择决定了第二个下拉框的选项。例如,第一个下拉框选择区域,第二个下拉框选择该区域的城市。 创建第一个下拉框 使用HTML的select标签创建第一个下拉框,并给每个选项赋值。例如,在第一个下拉框里,我们可以创建几…

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