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的详细步骤,最后送上一句毒鸡汤:生活不会放弃你,但也不会放过你。

相关文章
|
4月前
|
Java 开发工具 Maven
springboot项目打包为sdk供其他项目引用
springboot项目打包为sdk供其他项目引用
|
4月前
|
Java 测试技术 Maven
Spring Boot项目打包配置详解
Spring Boot项目打包配置详解
155 0
|
1月前
|
前端开发 JavaScript Java
Spring Boot应用中的资源分离与高效打包实践
通过实施资源分离和高效打包策略,不仅可以提升Spring Boot应用的开发和部署效率,还能显著提高用户体验。在实际项目中,根据项目的实际情况和团队的技术栈选择合适的工具和方案是关键。希望本文能为读者在Spring Boot项目中实现资源分离和高效打包提供一些有价值的参考。
|
4月前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
1月前
|
Java Maven
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
这篇文章详细介绍了构建SpringBoot项目的过程,包括新建工程、选择环境配置、添加依赖、项目结构说明,并演示了如何编写一个简单的Controller控制器实现输出功能,最后讲解了如何使用Maven将项目打包成可执行的JAR包,并提供了运行JAR包的命令和测试效果。
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
|
1月前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
52 0
|
2月前
|
Java 持续交付 Maven
Spring Boot程序的打包与运行:构建高效部署流程
构建高效的Spring Boot部署流程对于保障应用的快速、稳定上线至关重要。通过采用上述策略,您可以确保部署过程的自动化、可靠性和高效性,从而将专注点放在开发上面。无论是通过Maven的生命周期命令进行打包,还是通过容器技术对部署过程进行优化,选择正确的工具与实践是成功实现这一目标的关键。
90 2
|
4月前
|
Java
springboot打包错误:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resource
springboot打包错误:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resource
66 0
|
3月前
|
运维 安全 Java
SpringBoot运维篇(打包,多环境,日志)
SpringBoot运维篇(打包,多环境,日志)
|
3月前
|
Java 应用服务中间件 Maven
SpringBoot(三)之打包方式
在 mainClass 元素中指定主类的完全限定名,这是可执行 JAR 文件的入口点。
73 0