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包命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于在IDEA热部署插件JRebel使用问题详解

    关于在IDEA热部署插件JRebel使用问题详解

    这篇文章主要介绍了关于在IDEA热部署插件JRebel使用问题详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Java视频格式转化的实现方法

    Java视频格式转化的实现方法

    这篇文章主要为大家详细介绍了Java视频格式转化的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Java中MapStruct的使用详解

    Java中MapStruct的使用详解

    这篇文章主要介绍了Java中MapStruct的使用详解,mapstruct,全称是org.mapstruct.Mapper, 是将接口或抽象类标记为映射器,并通过MapStruct为这个接口或者抽象类生成一个实现类,大大简化了Java bean类型之间转换,需要的朋友可以参考下
    2023-09-09
  • 关于Java中常见的负载均衡算法

    关于Java中常见的负载均衡算法

    这篇文章主要介绍了关于Java中常见的负载均衡算法,负载平衡是一种电子计算机技术,用来在多个计算机、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的,需要的朋友可以参考下
    2023-08-08
  • java String源码和String常量池的全面解析

    java String源码和String常量池的全面解析

    下面小编就为大家分享一篇java String源码和String常量池的全面解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 详谈Java几种线程池类型介绍及使用方法

    详谈Java几种线程池类型介绍及使用方法

    下面小编就为大家带来一篇详谈Java几种线程池类型介绍及使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • JAVA使用Gson解析json数据实例解析

    JAVA使用Gson解析json数据实例解析

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。接下来通过本文给大家介绍JAVA使用Gson解析json数据实例解析,需要的朋友参考下吧
    2016-03-03
  • eclipse部署tomcat服务器无法启动问题的解决方法

    eclipse部署tomcat服务器无法启动问题的解决方法

    这篇文章主要为大家详细介绍了eclipse部署tomcat服务器无法启动问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • MybatisGenerator文件生成不出对应文件的问题

    MybatisGenerator文件生成不出对应文件的问题

    本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成器的路径等,通过在项目结构中引入相应的jar包,并在GeneratorSqlmap.java文件中运行,可以成功生成对应的文件
    2025-01-01
  • java利用udp实现发送数据

    java利用udp实现发送数据

    这篇文章主要为大家详细介绍了java利用udp实现发送数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07

最新评论