Java中启动jar包命令举例详解

 更新时间:2024年12月13日 10:17:55   作者:ldcaws  
这篇文章主要介绍了Java中启动jar包命令的相关资料,文中介绍了在Windows和Linux环境下启动和运行Java程序的方法,包括使用`java -jar`和`javaw`命令启动,以及如何在后台运行程序、重定向输出和错误信息、以及如何停止程序,需要的朋友可以参考下

1、windows环境

在cmd命令窗口,执行java -jar ***.jar即可启动java程序。按下ctrl+c或直接关闭cmd命令窗口,当前程序都会退出。
windows环境下javaw启动命令代表后台运行,关闭cmd命令窗口仍然运行,在任务管理器可以看到相关服务,如

javaw -jar ***.jar

2、linux环境

java程序启动命令,执行java -jar ***.jar即可启动java程序。按下ctrl+c或直接关闭终端,当前程序都会退出。
在命令的结尾添加“&”,“&”表示该程序可以在后台执行,如

java -jar ***.jar &

但是当窗口关闭时,程序也会中止运行,在命令的最前面加上nohup,这样当终端关闭时,程序就会不挂断运行,如

nohup java -jar ***.jar &

当前程序的打印日志会被写入到当前目录的nohup.out文件中,可以修改写入指定的文件中,如

nohup java -jar ***.jar > log.out &

当前程序的打印日志就会被写入当前目录下log.out文件中,当不想写入日志,可以将日志重定向到/dev/null中,/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,如

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

当只输出错误信息到日志,标准输出不写入日志,直接丢弃,如

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

当标准输出重定向到/dev/null中,然后错误信息输出重定向到标准输出,则错误信息也被定向到了/dev/null中,错误输出同样也被丢弃,如

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

当标准输出重定向到log.out中,然后错误信息输出重定向到标准输出,则错误信息也被定向到了log.out中,如

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

当需要停止java程序时,通过如下命令找到PID,并根据PID终止进程,如下

ps -ef | grep ***.jar
kill -15 PID

3、重定向

在linux中重定向相当的方便,只需要用>或>>符合就可以了,其含义如下

> 是覆盖写入,原来的内容全部清空。
>> 是追加写入,在原来内容末尾追加。
  • 标准输入文件(stdin):stdin 的文件描述符为 0,Unix 程序默认从 stdin 读取数据。
  • 标准输出文件(stdout):stdout 的文件描述符为 1,Unix 程序默认向 stdout 输出数据。
  • 标准错误文件(stderr):stderr 的文件描述符为 2,Unix 程序会向 stderr 流中写入错误信息。

这样就知道输出/错误输出信息分别用数字 1 和 2 代表,反过来看上面的写法就指定重定向的原理了。

java -jar app.jar >log 2>&1 &

这里的, 2>&1 代表把错误输出 2 合并到 1 中,并重定向到名为 log 的文件中去。符号 >& 是一个整体,不可分开,分开后就不是上述含义了。
2>&1 符号必须放到 >log 后面,为什么呢?我们不妨把 1 和 2 都理解是一个指针, 然后来看上面的语句就是这样的:本来 1----->屏幕 (1 指向屏幕),执行>log 后, 1----->log (1 指向 log),执行 2>&1 后, 2----->1 (2 指向 1,而 1 指向 log, 因此 2 也指向了 log)。

总结

到此这篇关于Java中启动jar包命令的文章就介绍到这了,更多相关Java启动jar包命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis中的JdbcType映射使用介绍

    MyBatis中的JdbcType映射使用介绍

    这篇文章主要介绍了MyBatis中的JdbcType映射使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java线上问题排查神器Arthas实战原理解析

    Java线上问题排查神器Arthas实战原理解析

    原先我们Java中我们常用分析问题一般是使用JDK自带或第三方的分析工具如jstat、jmap、jstack、 jconsole、visualvm、Java Mission Control、MAT等,还有一款神器Arthas工具,可帮助程序员解决很多繁琐的问题,感兴趣的朋友一起看看吧
    2022-01-01
  • Spring Boot应用中如何动态指定数据库实现不同用户不同数据库的问题

    Spring Boot应用中如何动态指定数据库实现不同用户不同数据库的问题

    让我们创建一个 Spring Boot 项目首先设置一个具有必要依赖项的新 Spring Boot项目,在项目配置中包括 Spring Web、Spring Data JPA 和关于数据库的依赖项,接下来介绍Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库的场景 ,需要的朋友可以参考下
    2024-04-04
  • SpringBoot之Refresh流程的简单说明

    SpringBoot之Refresh流程的简单说明

    这篇文章主要介绍了SpringBoot之Refresh流程的简单说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • eclipse报错 eclipse启动报错解决方法

    eclipse报错 eclipse启动报错解决方法

    本文将介绍eclipse启动报错解决方法,需要了解的朋友可以参考下
    2012-11-11
  • 基于springboot实现文件上传

    基于springboot实现文件上传

    这篇文章主要为大家详细介绍了基于springboot实现文件上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 解读JSONArray删除元素的两种方式

    解读JSONArray删除元素的两种方式

    这篇文章主要介绍了解读JSONArray删除元素的两种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • SSH框架网上商城项目第22战之银行图标以及支付页面显示

    SSH框架网上商城项目第22战之银行图标以及支付页面显示

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第22战之银行图标以及支付页面显示,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 浅谈Mybatis SqlSession执行流程

    浅谈Mybatis SqlSession执行流程

    本文主要介绍了浅谈Mybatis SqlSession执行流程,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • java之使用stream对日期排序方式

    java之使用stream对日期排序方式

    这篇文章主要介绍了java之使用stream对日期排序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论