Spring Boot Maven 打包可执行Jar文件的实现方法

yizhihongxing

实现Spring Boot Maven打包成可执行Jar文件的实现方法,主要有两种。

1. 使用Spring Boot Maven插件打包

首先,需要在pom.xml文件中,引入Spring Boot Maven插件,具体如下:

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

接着,在使用Maven对项目进行打包时,使用下面的命令进行打包:

mvn spring-boot:repackage

该命令会把项目所有的依赖及网站的入口文件(即main函数所在的文件)打包成一个可执行的Jar文件,命名为target/xxx.jar,其中xxx为自定义的Jar文件名称。

2. 使用Maven配合Assembly插件打包

除了上述方法之外,还可以使用Maven定制打包方式,以实现更加个性化的需求。

第一步,需要在pom.xml文件中,引入Maven Assembly插件,具体如下:

<build>
    ...
    <plugins>
        ...
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.demo.DemoApplication</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        ...
    </plugins>
    ...
</build>

其中,configuration中的archive标签指定了创建的Jar文件的主类。

第二步,使用下面命令进行打包:

mvn clean package assembly:single

以上命令会生成一个以jar-with-dependencies结尾的Jar文件,包含项目所需的所有依赖。

实现样例:

以下是示例一,使用Spring Boot Maven插件打包:

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

命令行启动打包:

mvn spring-boot:repackage

以下是示例二,使用Maven配合Assembly插件打包:

<build>
    ...
    <plugins>
        ...
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.demo.DemoApplication</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        ...
    </plugins>
    ...
</build>

命令行启动打包:

mvn clean package assembly:single

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot Maven 打包可执行Jar文件的实现方法 - Python技术站

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

相关文章

  • 使用Jackson 处理 null 或者 空字符串

    在Java开发中,我们经常需要使用JSON格式的数据来进行数据交互。而使用Jackson库可以方便地把JSON字符串和Java对象互相转换。但是当JSON中的某个字段对应的值为null或空字符串时,如果不进行特殊处理,转换时会抛出异常。接下来就让我们来详细讲解如何使用Jackson处理null或空字符串的情况。 方案一:使用注解 我们可以通过使用Jackso…

    Java 2023年5月26日
    00
  • SpringBoot Loki安装简介及实战思路

    SpringBoot Loki安装简介及实战思路 1. 简介 Loki是一个针对日志处理的系统,由于Prometheus不是专门用于处理日志的,在日志处理上的性能和扩展性受到限制,于是就有了Loki。Loki是Prometheus旗下的一个项目,使用Go语言编写,将日志收集器的工作委托给客户端工具,将日志转储到后端,并提供基于标签的存储、聚合、查询和告警系统…

    Java 2023年5月26日
    00
  • Java中常见的对象转换工具

    Java中常见的对象转换工具有很多种,其中比较常用的包括如下几种: Gson:Google开发的一款Java JSON处理工具,可以将JSON字符串与Java对象互相转换。 转换示例: import com.google.gson.Gson; public class Example { public static void main(String[] ar…

    Java 2023年5月19日
    00
  • java 实现通过 post 方式提交json参数操作

    下面是完整攻略: 1. 概述 Java通过post方式提交Json参数操作的流程与普通的表单提交操作类似,只不过需要注意Json参数的构造和提交格式,主要分以下步骤:1. 组织Json参数2. 将Json参数转换为字符串3. 构造Http请求4. 设置Http请求头信息5. 发送Http请求6. 处理返回结果 2. 组织Json参数 首先需要明确Json参数…

    Java 2023年5月26日
    00
  • java基础知识之FileInputStream流的使用

    Java基础知识之FileInputStream流的使用 在Java中,FileInputStream(字节流)是用于读取文件的流类之一。该类继承了InputStream类,并且提供了基本的方法来读取数据。 前置知识 在使用FileInputStream类之前,需要掌握以下Java基础知识: 输入/输出流(I/O Stream) Java中的文件操作概念,如…

    Java 2023年5月27日
    00
  • 采集教程及采集分页设置问题

    下面是详细的采集教程及采集分页设置问题的完整攻略。 采集教程 什么是采集 采集是指从一个或多个网站上自动爬取(提取)数据的技术,是一种自动化的数据采集方法。 如何进行采集 进行采集需要用到一些工具,常用的工具有Python爬虫框架Scrapy、PHP采集工具PHP Simple HTML DOM Parser等。 其中,Scrapy是一款强大的Python爬…

    Java 2023年6月16日
    00
  • JAVA生成pdf文件的实操指南

    JAVA生成PDF文件的实操指南 简介 PDF是一种非常流行的电子文档格式,很多公司和机构都会使用它作为文档的传播方式。对于JAVA开发者来说,生成PDF文件是一个常见的需求。在本篇指南中,我们将介绍如何使用JAVA生成PDF文件的方法,并提供两个示例帮助你更好地理解。 准备工作 在开始生成PDF文件之前,你需要确保以下的环境和工具已经准备就绪: Java …

    Java 2023年5月19日
    00
  • Spring集成Web环境的实例详解

    Spring集成Web环境的实例详解 在使用Spring框架开发Web应用时,需要将Spring集成进Web环境中,以便在Web应用中使用Spring框架的各种特性。下面将详细讲解如何将Spring集成进Web环境中。 环境准备 在开始之前,需要先准备好以下环境: JDK 8 Apache Tomcat 8.5 Maven 3 Eclipse 或 IDEA …

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