2

프로세스 시작시 프로세스 매개 변수를 허용하는 가장 좋은 방법은 키 - 값 쌍 요소를 제공하는 것입니다.
예. port=8089
그러나 대부분의 프로그램은 미리 정의 된 순서대로 인수를 허용하는 것으로 나타납니다. 즉, 바로 8089입니다.
내가 틀렸다는 것이 궁금한가요? 내가 바라 보는 키 - 값 쌍과 관련된 다른 문제가 있습니까? 내가 main프로세스 시작시 clim의 매개 변수 허용

+0

키 값 널리 사용되는 getopt 스타일 라이브러리. – themel

+0

[명령 줄 인수를 전달하기위한 많은 공통된 규칙] (http://en.wikipedia.org/wiki/Command-line_interface#Arguments)이 있습니다. 반드시 올바른 것은 아닙니다. 필자는 아파치의 [Commons CLI] (http://commons.apache.org/proper/commons-cli/)를 사용하여 선택한 형식을 구문 분석/시행하는 경향이 있습니다. – McDowell

+0

@themel : 왜 파싱 되었습니까? 간단한'split ("=")'은 매우 잘 동작합니다. – Jim

답변

1

에 고전 String[] args로 다스 려하고

이이 개 작업을 수행하는 방법이 있습니다 : 사용

java MainClass -Dkey1=value1 -Dkey2=value2

: 키 값 쌍에 전달

  1. System.getProperty("key1") 값에 액세스 할 수 있습니다. 당신은 당신의 주요 방법 args 배열에서 값 1, 값에 액세스 할 수 있습니다 메인 클래스

    java MainClass value1 value2

  2. 인수
    public static void main (String[] args)

+0

'-Dkey1 = value1'은 자바 매개 변수와 혼동 될 위험이 있습니까? – Jim

+0

key1이 자체적으로 설명하는 한 오래 걸리지 않을 것입니다. 예 :'jim.age' –

0

내 생각은 점입니다 keying 대신 인덱스를 사용하여 인수를 얻는 것이 더 쉽기 때문에 키 - 값 쌍이 잘못되어서는 안됩니다. 정의 된 순서는 게으른 방식입니다. 유사한 속성 라인을 따라

는 속성 객체로 입력 인수를 구문 분석의 예를 발견 : http://www.java2s.com/Code/Java/Development-Class/CreatePropertiesfromStringarray.htm

쌍 프로그래머가 너무 게으른, 그리고 JRE가 제공되지 않는 구문 분석 할 필요가
관련 문제