SpringBoot 打包发布

简介: 史上最详细的SpringBoot打包部署到Linux教程,保姆级别每个步骤都很细节,完美解决jar包没有主清单属性问题。

前言

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代码

packagecom.example.jar.controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
@RestController@RequestMapping()
publicclassTestController {
@RequestMapping("/test")
publicStringtest() {
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的详细步骤,最后送上一句毒鸡汤:生活不会放弃你,但也不会放过你。

相关文章
|
3月前
|
Java 开发工具 Maven
springboot项目打包为sdk供其他项目引用
springboot项目打包为sdk供其他项目引用
|
4月前
|
Java 测试技术 Maven
Spring Boot项目打包配置详解
Spring Boot项目打包配置详解
91 0
|
5月前
|
Java
dockerfile打包阿里云镜像 springboot实战项目(阿里云镜像仓失败 处理)
dockerfile打包阿里云镜像 springboot实战项目(阿里云镜像仓失败 处理)
|
5月前
|
Java Maven
SpringBoot项目如何打包、部署
SpringBoot项目如何打包、部署
70 0
|
2月前
|
SQL 监控 Java
nacos常见问题之dubbo+nacos+springboot3的native打包成功后运行出现异常如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
48 2
|
5月前
|
Java 应用服务中间件 nginx
springboot项目打包后页面访问不到
springboot项目打包后页面访问不到
61 1
|
2月前
|
jenkins Java 持续交付
详解如何使用Jenkins一键打包部署SpringBoot项目
详解如何使用Jenkins一键打包部署SpringBoot项目
110 0
|
3月前
|
Java 应用服务中间件 Maven
SpringBoot分离资源文件打包
SpringBoot分离资源文件打包
|
3月前
|
JSON Java Maven
SpringBoot使用git-commit-id-maven-plugin打包
【2月更文挑战第1天】 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。
94 0