用IDEA把SpringBoot项目打成jar发布项目

打包发布
打包前确保项目在IDEA上能正常运行

Project Structure
快捷键 ctrl + shift + alt + s 或点击左上角 File —> Project Structure

Artifacts
Project Settings —> Artifacts 设置如下图:


Select Main Class

New Directory
新建文件夹,用于将项目依赖的jar包放置在文件夹中,便于管理。

最后效果如下图:将依赖的jar包拖入library时,有个小技巧是从最下面选中jar包,按住shift键,选中所有jar包,不要松开,将所有jar包拖入library文件夹中

Build
idea菜单栏—>Build—>Build Artifacts
如果第一次编译,选择build,第二次编译选择rebuild

out
项目打包后最终效果。


Linux发布项目
启动jar包命令:

java -jar xxx.jar
1
这种方式,只要控制台关闭,服务就不能访问了。下面我们使用在后台运行的方式来启动:(仅限linux环境)

nohup java -jar xxx.jar &
1
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
可通过 jobs 命令查看后台运行任务

将nohup文件指定到temp.txt

nohup java -jar xxx.jar >temp.txt &
1
总结:
打包时报错:

项目中已存在MANIFEST.MF文件,将META-INF文件夹删除即可。
利与弊
与maven打包SpringBoot项目相比,该方法操作性稍微多一点,maven主要是依赖配置文件进行打包,逻辑性强一点,以后也会尝试用maven来打包,并进行深度对比。
————————————————

v / BNing99
版权声明:本文为CSDN博主「小天努力学java」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tian330726/article/details/88826324

原文地址:https://www.cnblogs.com/MonsterJ/p/12594567.html