Spring Boot项目中jar包在服务器上启动的正确姿势

 更新时间:2019年01月10日 08:33:09   作者:Hans  
这篇文章主要给大家介绍了关于Spring Boot项目中jar包在服务器上启动的正确姿势,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

关于

一般上来说,我们在服务器上启动一个jar,最简单的方式就是java -jar xx.jar,虽然这种方式简单但有时候我们的场景需要更多,例如常驻后台运行,在命令行窗口关闭的时候不中断项目,指定端口,并且输出日志到文件中等。所以这个时候我们通常会采用脚本启动和关闭项目,方便项目的统一管理。

脚本启动和关闭的案例

1.启动脚本

nohup java -jar ../webapp/xxx.jar --server.port=9002 >> ../logs/xxx.log &

tail -f ../logs/xxx.log

2.关闭脚本

pid=`ps -ef|grep java|grep xxx.jar |awk '{print $2}'`

if [ -z $pid ]; then
 echo 'app not runing'
else
 echo 'kill pid ' $pid
 kill $pid
 sleep 5
 ps -ef|grep java
fi

3.最后一步,执行脚本。(cd到脚本目录并执行)

sh xxx.sh

补充

1.命令后加&符号,可以使命令在后台执行。

2.tail -f 实时查看日志文件。

3.如果要先关闭项目再启动,尽量不要使用Ctrl+z退出命令行窗口的当前状态,最好新开一个命令行窗口,然后执行关闭脚本,再执行启动脚本。这样操作,可以避免应用莫名其妙没有关闭到的情况,反复执行关闭脚本却没有杀死应用进程的奇怪问题,需要杀多次。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Mabitis中的#与$符号区别及用法介绍

    Mabitis中的#与$符号区别及用法介绍

    这篇文章主要介绍了Mabitis中的#与$符号区别,需要的朋友可以参考下
    2017-02-02
  • SpringBoot整合sharding-jdbc 实现分库分表操作的示例代码

    SpringBoot整合sharding-jdbc 实现分库分表操作的示例代码

    在Spring Boot中使用ShardingSphere的Sharding-JDBC来实现数据库的分库分表是一个常见的需求,下面就拉具体介绍一下实现步骤,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • java中ThreadPoolExecutor常识汇总

    java中ThreadPoolExecutor常识汇总

    这篇文章主要介绍了java中ThreadPoolExecutor常识汇总,线程池技术在并发时经常会使用到,java中的线程池的使用是通过调用ThreadPoolExecutor来实现的,需要的朋友可以参考下
    2019-06-06
  • Java方法重载和方法重写的区别到底在哪?

    Java方法重载和方法重写的区别到底在哪?

    今天给大家带来的是关于Java的相关知识,文章围绕着Java方法重载和方法重写的区别到底在哪展开,文中有非常详细的解释,需要的朋友可以参考下
    2021-06-06
  • Java最简洁数据结构之冒泡排序快速理解

    Java最简洁数据结构之冒泡排序快速理解

    冒泡排序是编程中数据结构绕不过的一个基础点,有关于冒泡排序的文章也有很多,但可能会比较缭乱未能理解,本章将一子u为简洁明了的例图带你通关冒泡排序
    2021-11-11
  • Java虚拟机内存分配与回收策略问题精细解读

    Java虚拟机内存分配与回收策略问题精细解读

    Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存,本文让我们来详细了解
    2021-11-11
  • Spring使用@Retryable实现自动重试机制

    Spring使用@Retryable实现自动重试机制

    在微服务架构中,服务之间的调用可能会因为一些暂时性的错误而失败,例如网络波动、数据库连接超时或第三方服务不可用等,在本文中,我们将介绍如何在 Spring 中使用 @Retryable 实现自动重试机制,需要的朋友可以参考下
    2025-01-01
  • Java源码解析之SortedMap和NavigableMap

    Java源码解析之SortedMap和NavigableMap

    今天带大家来学习Java SortedMap和NavigableMap,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • SpringBoot web静态资源映射实现步骤详解

    SpringBoot web静态资源映射实现步骤详解

    在springBoot中的静态资源的映射是通过SpringMVC中的resourceHttpRequestHandler来进行实现的。在该请求映射器中默认规定了,SpringBoot会将classPath或者ServletContext下的/static (/public、/resources 或 /META-INF/resources)目录中,存放静态资源
    2022-09-09
  • 如何使用JavaMail发送邮件

    如何使用JavaMail发送邮件

    这篇文章主要教大家如何使用JavaMail发送邮件在web应用中,实现用户注册成功之后,将用户的注册信息以Email的形式发送到用户的注册邮箱当中,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论