之前写了一篇部署的文章,但是打包时会运行所有的单元测试,如果不想测试的话,可以采用这种方式。

第一部分:打包

1.pom.xm添加配置

      <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

2.在Terminal中执行命令:

mvn clean package -Dmaven.test.skip=true

解释:mvn clean 清除目标目录中的生成结果(target)  -Dmaven.test.skip=true:跳过测试类 

第二部分:部署

1.使用软件:WinSCP

下载地址:https://winscp.net/eng/download.php

2.操作

a.命令:jps -ll 查看所有进程(查看你的项目是否在运行)    -l:输出完全的包名,应用主类名,jar的完全路径名

b.命令 :kill - 9  进程  如果程序想杀死正在运行的程序,可以使用该命令。

特别说明:

kill和kill -9,两个命令在linux中都有杀死进程的效果,然而两命令的执行过程却大有不同。

执行kill命令,系统会发送一个SIGTERM信号给对应的程序。当程序接收到该signal信号后,将会发生以下事情:

程序立刻停止,当程序释放相应资源后再停止,程序可能仍然继续运行

大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但是也有程序可能接收信号后,做一些其他的事情,SIGTERM多半是会被阻塞的。

然而kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。

c.命令:mkdir /usr/local/springboot 创建目录,存放jar包

d.命令:mv ~/springboot.jar ./   如果jar包不在该目录下,可以通过mv命令移至该目录。

e.命令:chmod -R 777 ./xxx.jar     设置权限(建议不要随意设置) chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)

f.启动jar包的几种方式,在此介绍优缺点。

方式一:命令:java -jar xxx.jar   

解释:运行成功之后使用crtl+c可以退出项目运行,或者直接关闭连接窗口,项目也会停止运行; 缺点:当退出或关闭shell时,程序就会停止掉

方式二:命令:nohup java -jar springboot-hmservice-0.0.1-SNAPSHOT.jar &     

 解释:nohup 是linux一个命令,nohup是保证后台启动,就是关闭窗口程序任然在运行默认将日志打印到nohup,&产生作业编号就是那个 [1] 19649,nohup要和&一起用才能保证关闭窗口程序任然在运行

缺点:在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件

方式三:命令:nohup java -jar springboot-hmservice-0.0.1-SNAPSHOT.jar >>/dev/null 2>&1 &(推荐)

解释:/dev/null 代表空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
> 代表重定向到哪里
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 & 
即标准输出到mqnamesrv.out中,接着,标准错误输出重定向等同于标准输出,输出到同一文件中。

g.命令:less -n log\\myspringboot.log       tail -f log\\myspringboot.log    查看日志