从cli接受进程启动时的参数

时间:2013-03-12 10:17:49

标签: java process command-line-interface command-line-arguments

在我看来,在流程启动时接受流程参数的最佳方法是提供键值对元素 例如。 port=8089等 但是大多数程序似乎都接受了预定义顺序的参数,即8089 我想知道我错了吗?我忽略了键值对还有其他问题吗?

我在String[] args

中引用了经典main

2 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点:

  1. 传递键值对

    java MainClass -Dkey1=value1 -Dkey2=value2

    使用System.getProperty("key1")即可访问该值。

  2. 主类的参数

    java MainClass value1 value2

    您可以从主方法中的args数组访问value1,value2 public static void main (String[] args)

答案 1 :(得分:0)

我的猜测是,通过索引而不是键控来获取参数更容易,因此键值对没有任何问题,只是预定义的顺序是懒惰的方式。

沿着类似的属性行,找到了一个将输入args解析为Property对象的示例:http://www.java2s.com/Code/Java/Development-Class/CreatePropertiesfromStringarray.htm