使用IDEA 2018将SpringBoot项目打成jar包发布到Linux生成环境中
软件配置:
- IntelliJ IDEA 2018.1
- SpringBoot 2.0.3
- Java 1.8.0_171
打包发布
打包前确保项目在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
这种方式,只要控制台关闭,服务就不能访问了。下面我们使用在后台运行的方式来启动:(仅限linux环境)
nohup java -jar xxx.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
可通过 jobs
命令查看后台运行任务
将nohup文件指定到temp.txt
nohup java -jar xxx.jar >temp.txt &
总结:
- 打包时报错:
项目中已存在MANIFEST.MF文件,将META-INF文件夹删除即可。 - 利与弊
与maven打包SpringBoot项目相比,该方法操作性稍微多一点,maven主要是依赖配置文件进行打包,逻辑性强一点,以后也会尝试用maven来打包,并进行深度对比。