java -jar启动项目以及日志输出的相关问题

 更新时间:2024年04月28日 10:57:01   作者:零下三度撸代码  
这篇文章主要介绍了java -jar启动项目以及日志输出的相关问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

windows下启动、停止、重启jar项目

后台启动

@echo off
START "app" javaw -jar app-0.0.1-SNAPSHOT.jar
  • 其中的app是你这个bat文件的名字
  • javaw是jre中的后台启动的文件在jre/bin下
  • 后面的jar文件是启动的jar包

停止jar项目

@echo off
set port=3061
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f
    goto q
)
:q

上述的方式是直接使用taskkill命令来关闭项目和linux中的kill一样

重启项目

@echo off
set port=3061
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f
    goto start
)
:start

START "app" javaw -jar app-0.0.1-SNAPSHOT.jar

重启的方式就是将程序先关闭,然后重新启动。

Linux下关于启动服务器日志相关操作

java -jar xxx.jar

这种方式是在linux下的窗口启动,关闭窗口就相当于关闭了服务器。

服务器后台启动

nohup java -jar xxx.jar &

这样就会将程序运行到了后台,但是没有特指定日志输出的位置和日志名字,因此日志默认在当前目录的nohup.out下。

后台启动且指定日志位置

日志输出的方式需要知道如下:

  • 1 标准输出
  • 2 错误输出
  • /dev/null 没有输出

因此有如下两种方式

nohup java -jar xxx.jar > /dev/null &

日志重定向到/dev/null中,这这个目录是linux的空设备文件,写入这里的内容会全部丢失掉。

因此没有日志输出

nohup java -jar xxx.jar > /dev/null 2>&1 &

标准日志无输出,错误日志重定向到/dev/null,因此错误日志也没有输出

nohup java -jar xxx.jar > /dev/null 2>log.error &

错误日志输出到当前目录的log.error文件中

nohup java -jar xxx.jar > log.out 2>&1 &

标准日志和错误日志都输出到当前的目录的log.out文件中

每天都输出一个文件

nohup java -jar xxx.jar | /usr/local/cronlog/sbin/cronlog logs/console-%Y-%m-%d.out &

上述的方式是使用cron每天定时的方式来产生一个日志文件。

总结

以上就是对windows启动项目相关的逻辑、以及对启动项目指定生成日志的方式。大家在后续可以使用这种方式来启动自己的打包后的项目。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring项目中使用Junit单元测试并配置数据源的操作

    Spring项目中使用Junit单元测试并配置数据源的操作

    这篇文章主要介绍了Spring项目中使用Junit单元测试并配置数据源的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java 学习笔记(入门篇)_java的安装与配置

    java 学习笔记(入门篇)_java的安装与配置

    学习Java已经很长时间了,由于基础不好遇到问题就无从下手,所以,打算写Java的随手笔记来巩固基础,加强学习,接下来讲解java的安装,配置等,感兴趣的朋友可以参考下
    2013-01-01
  • Java中List与数组相互转换实例分析

    Java中List与数组相互转换实例分析

    这篇文章主要介绍了Java中List与数组相互转换的方法,实例分析了Java中List与数组相互转换中容易出现的问题与相关的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • eclipse项目在IDEA中打开并运行的详细图文教程

    eclipse项目在IDEA中打开并运行的详细图文教程

    这篇文章主要给大家介绍了关于eclipse项目在IDEA中打开并运行的详细图文教程,至从使用IDEA开发工具以来,不少次有使用IDEA运行Eclipse项目或非Maven项目,所以这里给大家总结下,需要的朋友可以参考下
    2023-09-09
  • java web实现简易收费站

    java web实现简易收费站

    这篇文章主要为大家详细介绍了java web实现简易收费站,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一
    2020-11-11
  • Java之数组在指定位置插入元素实现

    Java之数组在指定位置插入元素实现

    本文主要介绍了Java之数组在指定位置插入元素实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Spring Data JPA实现动态条件与范围查询实例代码

    Spring Data JPA实现动态条件与范围查询实例代码

    本篇文章主要介绍了Spring Data JPA实现动态条件与范围查询实例代码,非常具有实用价值,需要的朋友可以参考下
    2017-06-06
  • SpringBoot SpringEL表达式的使用

    SpringBoot SpringEL表达式的使用

    本文主要介绍了SpringEL表达式的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • SpringBoot整合EasyExcel实现Excel表格导出功能

    SpringBoot整合EasyExcel实现Excel表格导出功能

    这篇文章主要介绍了SpringBoot整合EasyExcel实现Excel表格导出功能,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • SpringBoot集成ECDH密钥交换的方法

    SpringBoot集成ECDH密钥交换的方法

    ECDH密钥交换算法通过椭圆曲线和Diffie-Hellman方法生成共享密钥,用于前端和后端之间的AES加密通信,前端使用elliptic.js生成密钥对,后端使用crypto-js.min.js进行AES加密,本文给大家介绍SpringBoot集成ECDH密钥交换的相关知识,感兴趣的朋友一起看看吧
    2025-01-01

最新评论