前言
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项目
2、编写一个简单的Web项目
TestController代码
packagecom.example.jar.controller; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.bind.annotation.RestController; () publicclassTestController { "/test") (publicStringtest() { return"Hello World"+"This is a Jar project"; } }
3、项目运行效果
在浏览器输入:localhost:8080/test , 显示"Hello World" +"This is a Jar project"
2、打包
1、导入坐标
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin>
我们只需要使用
Maven
的package
指令打包就会在target
目录下生成对应的Jar
包。该插件必须配置,不然打好的
jar
包也是有问题的。
2、Clean
右侧工具栏maven,点击plugins的clean。
3、Complier编译
右侧工具栏maven,点击plugins的complier。
4、package打包
右侧工具栏maven,点击plugins的package进行打包。
打包完成后会在左侧项目target文件下生成一个 .jar 文件。
5、启动
1、进入 jar
包所在位置,在 命令提示符
中输入如下命令
java -jar jar-0.0.1-SNAPSHOT.jar
2、成功运行
3、在浏览器测试依然可以正常
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包上传服务器的任意目录。
2、运行
进入jar文件所在目录,输入nohup java -jar xxx & 命令启动项目。
cd /usr/xmp
nohup java -jar jar-0.0.1-SNAPSHOT.jar &
注:nohup java -jar xxx & 是后台启动,关闭链接也不会停止运行。
关闭
kill -9 [进程号]
3、测试
输入ip地址+端口号+测试路径,成功运行。
总结
以上就是SpringBoot的打包,以及部署到Linux的详细步骤,最后送上一句毒鸡汤:生活不会放弃你,但也不会放过你。