jar 命令启动java 指定配置文件路径 jar如何启动

这篇具有很好参考价值的文章主要介绍了jar 命令启动java 指定配置文件路径 jar如何启动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、各种启动方式

1.java -jar
# 例子
java -jar test.jar
1.
2.
这是最简单的启动方式,同时弊端也是很多的。

弊端1:exit 退出终端会导致java进程中断。
弊端2:ctrl+c 退出启动展示页会导致java进程中断。
弊端3:直接关闭终端会导致java进程中断(启动时和启动完关闭都会导致java进程终端)。
弊端4:控制台日志不打印(这个可以不算弊端吧,其实很多场景不需要这个日志,这里姑且算是吧)

所以该命令是不能直接使用的。下面是演示使用ctrl+c退出启动展示页后程序进行自动中断的截图:

jar包启动指定配置文件,编程,java,jar,python

从截图中可以看到,当使用ctrl+c时,终端会终止刚刚使用java -jar启动的进程,所以导致了java进程的中断。

2.java -jar test.jar &
# 例子
java -jar test.jar &

可以看到这种启动方式是多了&,&的作用是让程序可以以后台模式运行,这样我们使用ctrl+c,或者exit退出启动页面时程序不会被终止,但是关闭终端会导致程序退出,无论是程序启动时直接关闭终端还是程序启动完毕在关闭,都会导致程序异常终止,总结如下:

弊端1:直接关闭终端会导致java进程中断(启动时和启动完关闭都会导致java进程终端)。
弊端2:控制台日志不打印(这个可以不算弊端吧,其实很多场景不需要这个日志,这里姑且算是吧)

下面是使用ctrl+c退出启动页的结果,可以发现此时程序还在运行。

jar包启动指定配置文件,编程,java,jar,python

3.nohup java -jar test.jar
# 例子
nohup java -jar test.jar

该命令相当于第一个场景增加了nohup命令,nohup命令其实就是为了指定输出文件的,用在这里自然就是指定java的输出了。nohup默认会将文件打印在当前文件夹下的nohup.out文件中,若是该文件权限不足,则会将日志输出到$HOME/nohup.out。值得一提的事,这里的输出接收的都是java控制台的输出。同时第一个场景拥有的弊端除了不打印控制台日志他都有。所以这个命令我们一般也不用。

弊端1:exit 退出终端会导致java进程中断。
弊端2:ctrl+c 退出启动展示页会导致java进程中断。
弊端3:直接关闭终端会导致java进程中断(启动时和启动完关闭都会导致java进程终端)。

【这里不重复验证了】

4.nohup java -jar test.jar &
# 例子
nohup java -jar test.jar &

与上个命令相比增加了 &,作用可以类比第二个场景,然后增加了日志输出。那是不是说还是有“关闭终端会导致程序终止”这个弊端呢,答案是否,使用这个命令关闭终端(无论是启动时还是启动完毕)都不会终止程序(原因是因为关闭终端这里其实关闭的是nohup的命令层级,对java程序已经起不到影响,linux肯定对nohup命令做了特殊处理)。
所以说以上所有的弊端,这个命令已经没有了,启动程序使用这个命令也是完全没有问题的。

弊端1:日志定向输出当前文件夹下的nohup.out(与下面几个命令相比,姑且算是弊端吧)

5.nohup java -jar test.jar > ./info.log &
# 例子
nohup java -jar test.jar >  ./info.log &

该命令没有弊端,与上一个场景的区别是会将日志打印到指定的info.log下面。不过打印方式是覆盖。也就是说每次启动以后,都会将之前的日志覆盖

6. nohup java -jar test.jar >> ./info.log &
# 例子
nohup java -jar test.jar >>  ./info.log &

该命令没有弊端,与上一个场景的区别是会将日志打印到指定的info.log下面。不过打印方式是拼接。也就是说每次启动以后,都会将本次的日志拼接到原日志之后进行输出,这里日志因为是控制台日志,一般没必要拼接

7. nohup java -jar test.jar >> /dev/null &
# 例子
nohup java -jar test.jar >> /dev/null &

这个命令是将日志输出到/dev/null,/dev/null是linux系统里的黑洞,其实可以理解为垃圾桶,相当于把日志扔了不要了,其他就没什么区别了。
【这几个命令就不重复测试了】

二、总结
常用的命令其实就三个,根据需要选择即可

登录后复制 
# 需要打印控制台日志,无需保留之前的日志信息
nohup java -jar test.jar >  ./info.log &
# 需要打印控制台日志,需要保留之前的日志信息
nohup java -jar test.jar >>  ./info.log &
# 不需要打印控制台日志
nohup java -jar test.jar >> /dev/null &文章来源地址https://www.toymoban.com/news/detail-756030.html

到了这里,关于jar 命令启动java 指定配置文件路径 jar如何启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java启动jar包引入外部配置文件

    前提: 打出来的jar中已经包含了各个application-xxx.yml文件,jar所在位置也引入了外部的application-test.yml。 目的:运行时,希望使用的时外部 application-test.yml  文件。 使用了以下命令: 可以启动,但是,使用的时jar包里面的application-test.yml配置,而不是外部的application-test.yml文

    2024年02月12日
    浏览(36)
  • Java获取Jar、War包路径,并生成可编辑修改的本地配置文件

    本地的可修改配置文件的编写理应是一个很常用的功能,但由于数据库的存在,它鲜少被提及,大多数我们直接存储到数据库中了。 以至于现今,除了没接触数据库的新手时常使用它以外,它没有太多的出场机会。 也因此,其实很多人不太了解其中的存储机制以及可能存在

    2024年01月25日
    浏览(38)
  • 外部配置文件和Class打包到jar 然后重新启动java -jar

    我这边以demo.jar和application-dev.properties配置文件为例 一.将Test1.class和Test2.class替换到jar内部 步骤1:解压原始demo.jar 将两个class文件拷贝到jar目录下后cd到文件目录执行: 步骤2:替换或添加class文件 步骤3:重新打包jar 二、优先加载外部的配置文件application-dev.properties,启动ja

    2024年01月19日
    浏览(32)
  • find命令——根据路径和条件搜索指定文件

    find命令的功能是根据给定的路径和条件查找文件或目录,可以使用的参数很多,并且支持正则表达式,结合管道符后能够实现更加复杂的功能,是系统管理员和普通用户日常工作必须掌握的命令之一。 find命令是对磁盘文件系统进行搜索,因此在服务器负载较高时,不建议使

    2024年02月07日
    浏览(36)
  • java -jar启动命令

    1、前台启动,日志输出在当前窗口,退出即关闭(不推荐) 2、后台启动、日志输出到当前目录的nohup.out 3、后台启动,日志按天存储(每天备份并清空当前文件) 4、后台启动,日志输出到指定文件 5、后台启动,日志重定向到 /dev/null 中,/dev/null代表linux的空设备文件,所有往

    2024年02月14日
    浏览(31)
  • jar包获取resource下配置文件路径

    我们在代码里可以这样写 但是打成jar包后就不行了,我们有很多方法获取jar包路径或者resource下文件路径 但是打印后你会发现路径里面带 !,此时就算你去掉!也不行 就算把路径copy到linux,用cat命令也显示文件不合法,猜测打包之后的jar就是无法获取的 但是我们可以读取文

    2024年02月11日
    浏览(32)
  • java -jar 命令启动后中文乱码

    我们在Windows下运行jar包时,常常会出现乱码,主要分为dos窗口输出的日志中出现乱码和程序返回数据出现乱码。 解决 一、dos窗口输出的日志中出现乱码 执行如下命令,将控制台输出编码改为UTF8: chcp 65001 二、程序返回数据出现乱码 执行如下命令,运行jar包时指定编码为

    2024年02月13日
    浏览(39)
  • Linux[find命令]-根据路径和条件搜索指定文件并删除

    find命令:用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能。 基本语法格式:find pathname -options 搜索内容 [其他选项] pathname:用来指定搜索路径。 options:用来指定搜索内容。 搜索内容:用来指定搜索

    2024年02月05日
    浏览(43)
  • linux中在指定路径中按照文件名模糊查找文件之find命令

    大家在实际项目中,可能有时候在排查问题中需要查找一些系统文件,然后看下对应文件信息。例如日志文件信息,数据文件信息等,太多不方便查找时,就可以使用该相关命令来查找最合适; 精准搜索 find 指定路径 -name \\\"搜索内容\\\" 模糊搜索 find 指定路径 -name \\\"*模糊搜索内

    2024年02月06日
    浏览(62)
  • uniApp h5项目通过命令行打包,并生成指定路径、文件名称

    第一步:采用hbuilder新建一个项目 第二部:通过cli新建一个项目 创建命令: 创建成功之后先运行一下项目,如果启动失败 Error: Cannot find module ‘webpack/lib/RuleSet‘ 我们将hb的项目作为基础 回到主题,将hb项目作为基础, 第一步:新建src文件夹,将以下文件放入src文件夹中  第

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包