SpringBoot 打包发布

2,648 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情

前言

SpringBoot的打包时打成jar包,不是war包。

  在软件领域,JAR文件(Java归档,英语:Java Archive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。

  JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。用户可以使用JDK自带的jar命令创建或提取JAR文件。也可以使用其他zip压缩工具,不过压缩时zip文件头里的条目顺序很重要,因为Manifest文件常需放在首位。JAR文件内的文件名是Unicode文本。

1、初始项目

通过一个简单的项目来打包jar包,来进行SpringBoot打包发布的学习。

SpringBoot的打包与发布可以让前后段分离开发变得方便快捷。

1、创建一个SpringBoot项目

image-20220821103301294.png

2、编写一个简单的Web项目

TestController代码

package com.example.jar.controller;
​
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
​
@RestController
@RequestMapping()
public class TestController {
    @RequestMapping("/test")
    public String test() {
        return "Hello World" +
                "This is a Jar project";
    }
}

image-20220821103721093.png

3、项目运行效果

  在浏览器输入:localhost:8080/test , 显示"Hello World" +"This is a Jar project"

image-20220821103922768.png

2、打包

1、导入坐标

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

image-20220821104210376.png

我们只需要使用 Mavenpackage 指令打包就会在 target 目录下生成对应的 Jar 包。

该插件必须配置,不然打好的 jar 包也是有问题的。

2、Clean

  右侧工具栏maven,点击plugins的clean。

image-20220821104506995.png

image-20220821104412568.png

3、Complier编译

  右侧工具栏maven,点击plugins的complier。

image-20220821104718552.png

image-20220821104629777.png

4、package打包

右侧工具栏maven,点击plugins的package进行打包。

打包完成后会在左侧项目target文件下生成一个 .jar 文件。

image-20220821105112488.png

5、启动

1、进入 jar 包所在位置,在 命令提示符 中输入如下命令

java -jar jar-0.0.1-SNAPSHOT.jar

image-20220821105315655.png

2、成功运行

image-20220821110418982.png

3、在浏览器测试依然可以正常

image-20220821110454173.png

6、问题

  可能遇到的问题,打包失败,jar包没有主清单属性,下面的代码粘贴到pom.xml指定位置。

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

3、Linux环境部署

  上面可知,SpringBoot项目打包的jar包可以在 jdk 环境下运行,比war包更放便,下面我们把jar包部署到linux环境下进行测试。

所需环境:

  • 一台云服务器(Linux系统)或者虚拟机
  • jdk环境

1、上传jar包

  用Xftp或者其他软件把,把刚刚打jar包上传服务器的任意目录。

image-20220821111350667.png

2、运行

  进入jar文件所在目录,输入nohup java -jar xxx & 命令启动项目。

cd /usr/xmp

image-20220821111553885.png

 nohup java -jar jar-0.0.1-SNAPSHOT.jar &

注:nohup java -jar xxx & 是后台启动,关闭链接也不会停止运行。

关闭

kill -9 [进程号]

3、测试

  输入ip地址+端口号+测试路径,成功运行。

image-20220821111812836.png

总结

  以上就是SpringBoot的打包,以及部署到Linux的详细步骤,最后送上一句毒鸡汤:生活不会放弃你,但也不会放过你。