2012-11-19 5 views
1

이클립스 실행 구성으로 실행할 때 프로그램이 제대로 작동하지만 개미를 실행할 때 args [0]에서 int를 구문 분석 할 수 없습니다. 이해할 수 없습니다. 전체 코드는 개미 명령 줄 인수

target name="run" description="run the project"> 
    java dir="${build.dir}" classname="BinarySearchTree" fork="yes"> 
    <arg value="6 in.txt"/> 
    /java> 
/target> 

인자 저장 값

개미 -Dargs = "6 testData1.txt"실행과 같이 -D 플래그를 통해 변경 될 것입니다, 나는 그것이 개미 함께 할 수있는 뭔가가 생각 여기 https://gist.github.com/4108950/e984a581d5e9de889eaf0c8faf0e57752e825a97 사용할 수 있습니다.

도움이 될 것입니다. 매우 실망 스럽습니다.

답변

6

당신은 두 개의 서로 다른 arg 값으로 인수를 제공해야합니다

<target name="run" description="run the project"> 
    <java dir="${build.dir}" classname="BinarySearchTree" fork="yes"> 
     <arg value="6" /> 
     <arg value="in.txt" /> 
    </java> 
</target> 

당신은 또한 line 속성을 사용할 수 있습니다; ANT 문서에서 :

<arg value="-l -a"/> 

공백 문자를 포함하는 단일 명령 줄 인수가 아닌 별도의 명령 "-> L"및 "-a".

<arg line="-l -a"/> 

두 개의 별도의 인수 명령 줄입니다 "-a" "-l"와.

+0

감사합니다. -Dargs = "6 test1.txt"와 같이 -Dargs = "4 test.txt"와 같이 여러 명령으로 실행하기 위해 -D 플래그로 어떻게 변경되도록 구성 할 수 있습니까? 감사. 스레드 "주요"java.lang.NumberFormatException의에 [자바] 예외 : -D 실행을 지정하려고 할 때 – kqualters

+0

는 여전히 다음과 같은 오류를 수신 입력 문자열의 경우 : "-Ddefault.debug = 10" [자바] \t 자바에서 .lang.NumberFormatException.forInputString (NumberFormatException.java:65) [자바] java.lang.Integer.parseInt에서 java.lang.Integer.parseInt (Integer.java:481) [자바] \t에서 \t (Integer.java : 514) BinarySearchTree.main에서 \t (알 수없는 출처) [자바] 결과 : 1 – kqualters

0

확대 시대의 답변입니다.

java task은 sysproperty 및 jvmarg를 지원합니다. (개미 자바 작업 페이지에서) 예를 들어

<java classname="test.Main" 
    fork="yes" > 
<sysproperty key="DEBUG" value="true"/> 
<arg value="-h"/> 
<jvmarg value="-Xrunhprof:cpu=samples,file=log.txt,depth=3"/> </java> 

그래서 당신은 개미에 전달 된 명령 줄에서 인수를 구성 할 수있다. 당신이 ant -Dtestarg=test1234 -Darg1=6 -Darg2=in.txt으로 개미를 호출하는 경우

<target name="run" description="run the project"> 
    <java dir="${build.dir}" classname="BinarySearchTree" fork="yes"> 

     <sysproperty key="testarg" value="${testarg}" 
     <arg value="${arg1}" /> 
     <arg value="${arg2}" /> 

    </java> 
</target> 

지금, 다음 testarg는 속성을 통해 사용할 수 있습니다. 다른 것들은 자바 프로그램에 대한 일반적인 논증이 될 것이다.