5 分钟上手打包部署SpringBoot

        可能有些小伙伴还不知道怎么去打包部署SpringBoot项目,接下来花 5 分钟教你怎么上手!话不多说直接上教程。

1.  首先我们要在 pom.xml 文件中导入 Springboot 的 maven 依赖

<!--将应用打包成一个可以执行的jar包-->

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2.   我们在打包 springBoot 项目的时候,我一般通过 Idea 的 Maven Projects 直接打包,当点击 package 执行完成后,会在你的项目下面生成一个 target 文件夹,该文件夹下包含项目的 jar 包。
在这里插入图片描述在这里插入图片描述
3、如果在 windows 下运行 jar ,找到 jar 文件所在路径,打开 cmd 命令窗口,输入 Java -jar 后面接你 jar 包名称;

4、如果是在 Linux 下运行 jar,先将该 jar 上传至服务器,确保你的服务器安装 jdk。(输入 Java -version)
在这里插入图片描述
由图看出的 jdk 是 1.6,系统自带版本是不能运行当前 jar 的,我在放 jar 包的同级目录下,解压了一个 jdk1.8 的包,然后我们输入命令:

nohup /xxx/jdk1.8.0_11/bin/java -jar xxx.jar 	>/dev/null 2>&1  &

前面的 xxx 表示你 jdk 存放的路径,前面要带上/,要到 bin 目录下。

      我们为什么不直接使用 Java -jar 启动呢?为啥要加上 nohup 和>/dev/null 2>&1 和 &,接下来我们一一分析。

      直接运行 java -jar 命令来启动,但这样的话,该会话的终端窗口如果中断,程序也会挂掉,所以我们会采用 nohup 和 &组合命令来操作。

使用 nohup 运行程序:
   结果默认会输出到 nohup.out
          使用 Ctrl + C 发送 SIGINT 信号,程序关闭
          关闭 session 发送 SIGHUP 信号,程序免疫

使用 &后台运行程序:
   结果会输出到终端
          使用 Ctrl + C 发送 SIGINT 信号,程序免疫
          关闭 session 发送 SIGHUP 信号,程序关闭

        这种方式启动项目会默认生成一个 nohup.out 的文件来记录日志,而且这个文件太占磁盘空间,所以为了减少磁盘被大量消耗,设置启动项目时不输出 nohup.out 文件。

所以我们采用以下两种方式

# 把标准输出重定向到空设备,即只输出错误信息到日志文件
nohup /xxx/java -jar xxx.jar >/dev/null 2>log & 
# 把标准输出和标准错误全重定向到空设备,即不输出日志
nohup /xxx/java -jar xx.jar >/dev/null 2>&1 &

(1) >/dev/null

       这条命令的作用是将标准输出 1 重定向到/dev/null 中。 /dev/null 代表 linux 的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null 之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。

(2) 2>&1

      这条命令用到了重定向绑定,采用 &可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。

      linux 在执行 shell 命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1 的作用就是让标准输出重定向到/dev/null 中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null 中,错误输出同样也被丢弃了。执行了这条命令之后,该条 shell 命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。

好了,我们讲完怎么启动,那这个挂后台咋关掉呢?

#首先我们找到当前jar的pid
#输入命令
ps -ef|grep java #查看运行进程,找到该jar的Pid

然后我们就杀死当前这个进程

kill -9 xxxx #(该jar的Pid) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值