SpringBoot 打包发布
![SpringBoot 打包发布](https://static001.geekbang.org/infoq/7e/7efb6bd5104bff731922187516f71030.png)
前言
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 项目
![](https://static001.geekbang.org/infoq/db/dbf48b099cb0cde3ffb2765d64fa40a9.png)
2、编写一个简单的 Web 项目
TestController 代码
![](https://static001.geekbang.org/infoq/66/663eb16d1abf7ed360f3a9c3ef2f6f70.png)
3、项目运行效果
在浏览器输入:localhost:8080/test , 显示"Hello World" +"This is a Jar project"
![](https://static001.geekbang.org/infoq/8f/8f2d29bdf2eb11ee105ae0114020c57f.png)
2、打包
1、导入坐标
![](https://static001.geekbang.org/infoq/6b/6bf7110939cbab30f7dd3bdb8dcc113f.png)
我们只需要使用
Maven
的package
指令打包就会在target
目录下生成对应的Jar
包。该插件必须配置,不然打好的
jar
包也是有问题的。
2、Clean
右侧工具栏 maven,点击 plugins 的 clean。
![](https://static001.geekbang.org/infoq/4a/4ae699f1dd6ede72170291446062e2cb.png)
![](https://static001.geekbang.org/infoq/a1/a19cbc1eb9302b16d1b688cf9944dde9.png)
3、Complier 编译
右侧工具栏 maven,点击 plugins 的 complier。
![](https://static001.geekbang.org/infoq/0c/0c69b66c79f9858a7d212828a2e31138.png)
![](https://static001.geekbang.org/infoq/7d/7d396d04f6812e253a1755f0ce972d33.png)
4、package 打包
右侧工具栏 maven,点击 plugins 的 package 进行打包,打包完成后会在左侧项目 target 文件下生成一个 .jar 文件。
![](https://static001.geekbang.org/infoq/0e/0e5dfd1b54e577422f841cccc3762852.png)
5、启动
1、进入 jar
包所在位置,在 命令提示符
中输入如下命令
![](https://static001.geekbang.org/infoq/12/121b2c6f42609730e7508effc3656f49.png)
2、成功运行
![](https://static001.geekbang.org/infoq/5b/5b8b8e375ea7c56b876c6fe9ab163a6c.png)
3、在浏览器测试依然可以正常
![](https://static001.geekbang.org/infoq/aa/aa3e85624cf55c7d0f987b66d75d4f87.png)
6、问题
可能遇到的问题,打包失败,jar 包没有主清单属性,下面的代码粘贴到 pom.xml 指定位置。
3、Linux 环境部署
上面可知,SpringBoot 项目打包的 jar 包可以在 jdk 环境下运行,比 war 包更放便,下面我们把 jar 包部署到 linux 环境下进行测试。
所需环境:
一台云服务器(Linux 系统)或者虚拟机
jdk 环境
1、上传 jar 包
用 Xftp 或者其他软件把,把刚刚打 jar 包上传服务器的任意目录。
![](https://static001.geekbang.org/infoq/93/9370098df70da9cb7bbae210bd4d71aa.png)
2、运行
进入 jar 文件所在目录,输入 nohup java -jar xxx & 命令启动项目。
![](https://static001.geekbang.org/infoq/07/073fc8da94b29bf929b33e22c997713e.png)
注:nohup java -jar xxx & 是后台启动,关闭链接也不会停止运行。
关闭
3、测试
输入 ip 地址+端口号+测试路径,成功运行。
![](https://static001.geekbang.org/infoq/1e/1e9ea980df10271a5957c7278ec33a25.png)
总结
以上就是 SpringBoot 的打包,以及部署到 Linux 的详细步骤,最后送上一句毒鸡汤:生活不会放弃你,但也不会放过你。
版权声明: 本文为 InfoQ 作者【斯】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6ed062ad8538c88f94e6b009】。文章转载请联系作者。
评论