系统环境


  • linux 系统服务器
  • springboot 应用程序
  • idea jvm ide


代码目录

QQ20200419-010637@2x.png

编译配置

点击idea ide最右上角,打开 Project Structure 如图:

QQ20200419-010804@2x.png

在 Project Structure 窗口左边菜单栏中选择:Project Settings -> Artifacts , 然后选择下图所示中的 “+” 号

QQ20200419-011109@2x.png


在弹出的 Add 菜单栏中选择 JAR -> From modules with dependencies...

QQ20200419-012048@2x.png


在弹出的 Create JAR from Modules 窗口中配置相关信息

QQ20200419-011257@2x.png

  • Module: SpringBoot 程序入口模块(Application 类所在的模块)
  • MainClass:Application 类
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  • JAR files from libraries: 选择 copy to the output directory and link via manifest,在项目根目录单独生成一个 out 目录存放 jar包
  • Directory for META-INF/MANIFEST.MF :    存放 manifest.mf 文件的路径,默认是生成在 /api/src/main/java 中,但是部署的时候需要用到,为了方便我们也直接输出在 out 目录中,如果out目录不存在就新建一个,不然无法自动生成,而且如果所在路径 manifest.mf 文件已经存在了也无法创建,则需要先删除 manifest.mf 文件。这个文件主要描述了SpringBoot的程序入口
Manifest-Version: 1.0
Main-Class: com.projectname.api.Application
Class-Path:相关生成jar的名称...
  • 最后点击 OK,manifest.mf 文件就生成了

编译Build Artifacts

在 idea ide 最上方菜单栏中选择 Build -> Build Artifacts...

QQ20200419-011601@2x.png


在弹出来的弹窗中选择刚才配置好的编译方案 api:jar

Action 中如果是第一次编译就选择 Build ,否则选择 ReBuild 


QQ20200419-011639@2x.png


在 idea ide 下方状态栏转动数秒钟就生成好jar包了,进入out目录查看吧:

QQ20200419-014437@2x.png

上传Linux服务器部署

  • 将 out 目录中的 artifacts 和 META-INF 一起打包成 zip 文件,我们取名 api.zip


QQ20200419-014737@2x.png


  • 我们使用 scp 命令上传至Linux服务器,打开电脑自带的 终端 工具,输入 scp ,然后拖动 api.zip 文件到 scp 命令处自动输入文件路径,再在路径后输入 服务器登陆名@IP:服务器上存储的地址,如下:

scp /projects/java/test/out/api.zip root@127.0.0.1:/var/local/test

敲下回车键输入密码等待上传成功

  • 现在登陆Linux服务器,输入 cd /var/local/test , 使用 unzip 命令解压缩 unzip api.zip
  • 最后我们使用 nohup 命令启动这个项目 nohup java -jar artifacts/api_jar/api.jar --spring.profiles.active=prod &


nohup:命令详解

--spring.profiles.active:我的示例中 application-dev.yml 和 application-prod.yml 两种模式的配置文件,所以在这里指定了使用哪个文件,如果没有多环境配置文件可以忽悠这个命令 --spring.profiles.active=prod

最后 & 符合不要忘记加了


停止与重启

ps -ef | grep java ​查看有关 java 的端口 ,找到刚才使用 nohup 启动命令的那条所占端口,这里是:20322


QQ20200419-102919@2x.png


使用 kill -9 20322 命令停止这个java服务即可

如果您喜欢,可以打赏支持我一下~~~

2个评论

相关阅读