SpringBoot项目打成war和jar的区别说明

Spring Boot 是一个轻量化的框架,可以用于快速构建基于 Spring 的 Web 应用程序。它们可以以两种不同的形式进行部署:WAR 和 JAR。这里将详细讲解 WAR 和 JAR 的区别,以及其在 Spring Boot 项目中运用的使用方法。

WAR 和 JAR 的区别

WAR 和 JAR 是两个在 Java 环境中经常使用的文件类型。它们有以下区别:

  1. JAR (Java Archive):是一种通用的 Java 应用程序存档文件格式。常用于分发和部署 Java 应用程序。

  2. WAR(Web Application Archive):是一种特定类型的 JAR 文件,用于打包和分发 Web 应用程序。

结论: 简单来说,JAR 是通用的 Java 应用程序文件格式,而 WAR 是专门用于在 Web 应用程序中使用的一种文件格式。

制作 Spring Boot 项目的 WAR 和 JAR 包

下面是制作 Spring Boot 项目的 WAR 包和 JAR 包的具体步骤:

制作 WAR 包

  1. 修改 pom.xml 文件,增加以下依赖:
    <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>

2.在 Spring Boot 主类的头部添加以下注解,实现 WAR 包的部署:

    @SpringBootApplication
    public class SpringBootApp extends SpringBootServletInitializer {

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

        public static void main(String[] args) {
            SpringApplication.run(SpringBootApp.class, args);
        }
    }
  1. 执行命令:mvn clean package 打包目标文件。

  2. 生成的 WAR 文件位于 /target 目录下。

制作 JAR 包

  1. 修改 pom.xml 文件,将以下依赖项注释掉:
<!-- <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency> -->
  1. 清除所有 Tomcat 相关依赖项。

  2. 执行命令:mvn clean package 打包目标文件。

  3. 生成的 JAR 文件位于 /target 目录下。

示例

下面给出两个示例,一个是将 Spring Boot 项目打成 WAR 包的实现方法,一个是将 Spring Boot 项目打成 JAR 包的实现方法。

示例 1: 制作 WAR 包

  1. 打开 Spring Boot Maven 实例项目。

  2. 修改 pom.xml 中的依赖项。

  3. 使用以下命令来构建并打包 WAR 文件:

$ mvn clean package
  1. 运行以下命令将 WAR 文件部署到 Tomcat 服务器上:
$ cp target/hello-world-0.0.1-SNAPSHOT.war /path/to/www/webapps/hello-world.war
  1. 启动 Tomcat 服务器。

  2. 在浏览器访问 http://localhost:8080/hello-world 查看页面。

示例 2: 制作 JAR 包

  1. 打开 Spring Boot Maven 实例项目。

  2. 修改 pom.xml,将以下内容注释掉:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
  1. 使用以下命令构建并打包 JAR 文件:
$ mvn clean package
  1. 运行以下命令启动 JAR 文件:
$ java -jar target/hello-world-0.0.1-SNAPSHOT.jar
  1. 在浏览器访问 http://localhost:8080/ 端口以查看 Spring Boot 应用程序运行情况。

总之,在选择部署 Spring Boot 项目时,需要根据自己的需要选择 WAR 包或 JAR 包。如果需要将 Spring Boot 项目部署到 Web 服务器,那么应该选择 WAR 包。如果只是需要部署一个简单的调用控制台或命令行的程序,那么应该选择 JAR 包。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目打成war和jar的区别说明 - Python技术站

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

相关文章

  • 常见的对象引用有哪些?

    关于“常见的对象引用有哪些”这个问题,下面我将为大家提供一份完整的使用攻略,具体步骤如下: 第一步:理解对象引用的含义 对象引用,是指在 Java 中,存储在变量中的引用,指向在内存中分配的实际的对象。变量只存储引用,而不存储实际的对象。因此,Java 中的对象引用是一种非常重要的概念。 第二步:了解常见的对象引用 Java 中常见的对象引用有以下四种: 强…

    Java 2023年5月11日
    00
  • Hibernate懒加载之标签上的lazy

    Hibernate是一个流行的开源ORM(对象关系映射)框架,可以将Java对象关联到数据库表。在开发中,为了提高系统性能,开发人员通常会使用懒加载技术,延迟加载需要的数据,而不是在一次完整的数据库查询中同时加载完所有的数据。 在Hibernate中,懒加载的配置是通过在Hibernate映射文件中的标签上添加lazy属性实现的。接下来,我们将详细讲解如何在…

    Java 2023年5月20日
    00
  • springboot整合JSR303校验功能实现代码

    下面我来详细讲解“Spring Boot整合JSR303校验功能实现代码”的完整攻略。 什么是JSR303校验功能? JSR303校验功能是指一种JavaBean的校验方式,用于对JavaBean的属性进行自定义校验,从而实现对表单数据合法性的校验。它基于注解实现,注解具有可读性强、可扩展性强的特点,而且使用非常简单。 Spring Boot整合JSR303…

    Java 2023年5月20日
    00
  • Java Spring框架的概述

    Java Spring框架是一个轻量级的应用程序框架,由许多模块组成,提供了针对企业级应用程序开发的全面支持。Spring框架采用了模块化的方法来设计,使得应用程序可以只包含其所需要的模块。此外,它还提供了面向切面编程的支持和对依赖注入的支持,这使得应用程序开发更加灵活和易于维护。 下面是几个Spring框架中最常用的模块: Core Container:包…

    Java 2023年5月19日
    00
  • java容器详细解析

    Java容器详细解析 在Java中,容器是一种可以存储和检索对象的数据结构。Java提供了各种类型的容器,包括List、Set、Map等等。本文将通过详细解析Java容器,让您了解Java中各种容器类型的使用方法和优缺点。 List容器 List容器是一种有序的容器,允许元素重复。在Java中,常用的List容器有ArrayList和LinkedList。 …

    Java 2023年5月26日
    00
  • 使用JDBC实现数据访问对象层(DAO)代码示例

    下面是使用JDBC实现数据访问对象层(DAO)代码示例的完整攻略: 1. JDBC DAO层的基本结构 在实现JDBC DAO层之前,需要先确定DAO层的基本结构。一般来说,DAO层包括以下三个部分: DAO接口,用于定义数据的增删改查操作。 DAO实现类,用于实现DAO接口,提供具体的数据访问操作。 实体类,用于存储数据库中的数据,每个实体类对应一张数据表…

    Java 2023年5月26日
    00
  • jsp 从web.xml读取连接数据库的参数

    让我来详细讲解一下“jsp 从web.xml读取连接数据库的参数”的完整攻略。 什么是web.xml web.xml是一个配置文件,通常位于WEB-INF目录下,它是Java Web应用程序中最常见的配置文件之一,它用于配置Web应用的许多方面,包括 Servlet、JSP、Filter、Listener、数据库连接、安全性等等。 读取web.xml中的数据…

    Java 2023年6月15日
    00
  • Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率(推荐)

    下面我将详细讲解“Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率(推荐)”的完整攻略。 1. 确认Graalvm是否已安装 首先需要确认Graalvm是否已经安装在本地。如果还没有安装,可以去官网下载并安装。 2. 确认Springboot应用是否可用 接下来需要确认Springboot应用是否可用,可以通过在…

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