我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java-jar设置添加启动参数实现方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java-jar设置添加启动参数实现方法

java -jar设置添加启动参数方法

java -jar 参数前后位置说明

springboot项目启动的时候可以直接使用java -jar xxx.jar这样。下面说说参数的一些讲究

-DpropName=propValue

-DpropName=propValue的形式携带,要放在-jar参数前面

eg:

java -Dxxx=test -DprocessType=1 -jar xxx.jar

取值:System.getProperty("propName")

参数直接跟在命令后面

eg:

java -jar xxx.jar processType=1 processType2=2

取值:参数就是jar包里主启动类中main方法的args参数,按顺序来

springboot的方式,--key=value方式

eg:

java -jar xxx.jar --xxx=test

取值:spring的@value("${xxx}")

java -jar命令详解

java -jar命令用于执行jar程序,常用的写法有5种:

第1种

java -jar demo.jar

说明:用这种方法启动后,不能继续执行其它命令了,如果想要继续执行其它命令,需要退出当前命令运行窗口,会打断jar的运行,打断一般用ctrl+c。

第2种

java -jar demo.jar &

第2种在第1种方式的基础上在命令的结尾增加了&,&表达的意思是在后台运行。

这种方式可以避免打断后程序停止运行的问题,但是如果关闭当前窗口后程序会停止运行。

第3种

nohup java -jar demo.jar &

第3种在第2种方式的基础上,在命令的最前面增加了nohup。

nohup是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

加了nohup后,即使关掉命令窗口,后台程序demo.jar也会一直执行。

第4种

nohup java -jar demo.jar >1.txt &

第4种在第3种的基础上,在后面增加了>1.txt,意思是将nohup java -jar demo.jar的运行内容重定向输出到1.txt文件中,即输出内容不打印到当前窗口上,而是输出到1.txt文件中。

第3种没有加>1.txt,它的输出重定向到nohup.out文件中,nohup.out也就是nohup命令的默认输出文件, 文件位于$HOME/nohup.out 文件中,比如用root执行,就会输出到/root/nohup.out。

第5种

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

这里说下jar后面这串符号的意义 >/dev/null 2>&1 &

  • > 代表重定向到哪里,例如:echo "123" > /home/123.txt
  • /dev/null 代表空设备文件
  • 2> 表示stderr标准错误
  • & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
  • 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null"

最后一个&表示在后台运行。

这里再补充说下这几个数字代表的含义:

  • 0 标准输入(一般是键盘)
  • 1 标准输出(一般是显示屏,是用户终端控制台)
  • 2 标准错误(错误信息输出)

/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。一般项目中定义中输出运行日志到指定地址,这样的话,就不需要再单独输出nohup.out文件,这种情况可以考虑使用这种。

我们可以把它写成一个脚本,不用每次都写一遍。新建start.sh,根据我上传的demo.jar,输出到1.txt中,具体脚本如下:

nohup  java  -Xms515m -Xmx1024m -jar -Dfile.encoding=UTF-8 demo.jar --spring.profiles.active=prod >/dev/null 2>&1 &

可以看到,上面的命令中我使用了Xms、Xmx、Dfile.encoding、spring.profiles.active等参数,那么java -jar可以添加什么参数,各自又能实现什么样的效果呢,且看下文:

  • -Xms 指定jvm运行最小运行堆内存,默认为物理内存1/64,用法 :-Xmx512m 注意:Xmx和512m中间不用添加空格
  • -Xmx 指定jvm运行最大运行堆内存,认物理内存1/4,用法: -Xmx1024m 注意:Xmx和1024m中间不用添加空格
  • --server.port 指定jar运行的port端口,用法:--server.port=8085
  • --spring.profiles.active=pro 指定运行的配置文件、环境,用法:--spring.profiles.active=prod

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java-jar设置添加启动参数实现方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java-jar设置添加启动参数实现方法

这篇文章主要介绍了java-jar设置添加启动参数实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-13

中项目启动时实现初始化方法的加载参数是什么

中项目启动时实现初始化方法的加载参数是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springboot项目启动,初始化方法加载参数今天我看到项目中用到了
2023-06-22

Linux 怎么实现添加FTP用户并设置权限的方法

Linux添加FTP用户并设置权限在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test 2、建用户,命令行状态下,在root用户下:运行命令:
2022-06-04

Android实现动态添加数据与堆叠折线图的方法是什么

本篇内容介绍了“Android实现动态添加数据与堆叠折线图的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果视频引用描述本示例采
2023-06-25

nodejs文件实现打包成exe,并设置开机自启动的方法详解(没有黑窗口)

这篇文章主要介绍了nodejs文件实现打包成exe,并设置开机自启动的方法,结合实例形式分析了node.js使用pkg包实现生成exe可执行文件的相关操作技巧,需要的朋友可以参考下
2023-05-19

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录