用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来打包,并进行深度对比。
————————————————