2009-08-10 1 views
1

Plexus Commandline을 사용하여 외부 프로세스를 호출하고 출력을 캡처하는 플러그인이 있습니다. 인수 중 하나는 공백과 따옴표가있는 재미있는 형식입니다 (예 : - 범위 : "2008 년 8 월 25 일"- "2009 년 8 월 4 일". 인수의 필수 형식을 변경할 방법이 없지만, Plexus는 인수에서 공백을 감지하고 전체를 따옴표로 묶습니다. Maven 플러그인에서 이스케이프 된 명령 행 인수를 중지하려면 어떻게합니까?

그래서

call --range:"25 Aug 2008"-"04 Aug 2009" 

call "--range:"25 Aug 2008"-"04 Aug 2009"" 

되고 호출이 실패합니다.

총알 중지가 인수를 이스케이프하도록 만들 수 있습니까?

답변

1

명령 줄 객체가 로컬 환경과 상호 작용하는 셸을 사용하여, 당신은 어떤 따옴표 벗어날하는 과정을 탈출 기본값을 대체 셸을 구성 할 수 있습니다

Commandline cl = new Commandline("call"); 
commandline.getShell().setQuotedArgumentsEnabled(false); 

것은 이것이 의미하는 것을주의를 없음 그 인수의 enquoted되므로 조심해서 그것을 사용하십시오!