我是靠谱客的博主 迷你网络,最近开发中收集的这篇文章主要介绍JAR包获取命令行参数一、Springboot之@Value 二、System.getProperty("")三、args[i]四、其他,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
有的时候,jar包运行的参数需要通过命令行的方式传入,有三种方式实现。
一、Springboot之@Value
Springboot的参数可以通过@Value获取。如下:
@Value("${value}")
private String value;
注意:如果以为写了这句代码就可以,那是大错特错。这样写项目都启动不起来的。Springboot启动的时候会从配置文件中获取相关配置,但是找不到key为value的参数。所以我们需要在application.properties配置一个假的参数,这个参数在命令行输入参数以后会被覆盖。
命令行启动:
java -jar web1.jar --value=test
二、System.getProperty("")
在main()内可以通过System.getProperty("")获取命令行参数。
System.out.println("main()获取到的参数是:"+System.getProperty("a1")+", "+System.getProperty("b1"));
启动jar包,输入参数:
java -Da1=liudehua -Db1=zhangxueyou -jar web2.jar
或者
java -jar -Da1=liudehua -Db1=zhangxueyou web2.jar
三、args[i]
在main()内可以通过args[0]获取命令行参数。
System.out.println("main()获取到的参数是:"+args[0]+", "+args[1]);
启动jar包,输入参数:
jar -jar web3.jar aaa bbb
四、其他
@Value、System.getProperty("")和args[i]可以嵌套使用。
java -jar -Da1=a1 -Db1=b1 web4.jar aa bb cc --value=value
最后
以上就是迷你网络为你收集整理的JAR包获取命令行参数一、Springboot之@Value 二、System.getProperty("")三、args[i]四、其他的全部内容,希望文章能够帮你解决JAR包获取命令行参数一、Springboot之@Value 二、System.getProperty("")三、args[i]四、其他所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复