개미가 .exe 인 경우 코드가 작동해야한다고 말합니다. 하지만 나는 개미가 배치 파일이고, 앤트 스크립트 내에서 오류가 발생하고 있다고 생각합니다.
내 결론은 오류 메시지에 있습니다. 구체적으로 다음 부분은 ""==""
입니다. 오류 메시지는 일괄 구문 분석 오류이며 코드에서 이러한 문자를 생성하는 방법을 알 수 없습니다. 그래서 개미는 문제를 일으키는 배치 스크립트 여야합니다.
ant.bat의 상단에 @echo off
이있는 것으로 의심되어 실제 실패한 행은 표시되지 않습니다.
ant.bat 스크립트에 액세스 할 수 없기 때문에 정확히 무엇이 실패하고 있는지 진단 할 수 없으며 해결 방법을 추측 할 수 없습니다.
업데이트 - 정확한 문제는 온라인 ant.bat의 사본을 발견
을 발견했다.
그 안에 다음 코드 줄이 있습니다
if "%ANT_HOME%"=="" set ANT_HOME=%DEFAULT_ANT_HOME%
ANT_HOME 귀하의 정의는 따옴표를 둘러싸 포함, 그래서 코드는 당신에게 인용되지
if ""C:/Program Files/apache-ant-1.8.4""=="" set ANT_HOME=%DEFAULT_ANT_HOME%
공간을 실행하려고하고, 당신의 실수를 가져라.
당신이 모든 ANT_HOME의 정의에서 따옴표를 제거하는 것입니다 해결하기 위해 수행 한 다음 CALL 문에 따옴표를 추가 할 필요가 모든 :
set "ANT_HOME=C:/Program Files/apache-ant-1.8.4"
call "%ANT_HOME%/bin/ant" -f ../config/common.xml start_db
정방향 슬래시는 항상 내 폴더 구분 기호로 신뢰할 수 없습니다 Windows. Why does the cmd.exe shell on Windows fail with paths using a forward-slash ('/'') path separator?을 참조하십시오.
백 슬래시를 사용하는 것이 좋습니다.
set "ANT_HOME=C:\Program Files\apache-ant-1.8.4"
call "%ANT_HOME%\bin\ant" -f ..\config\common.xml start_db
예제 출력에 원하지 않는 밑줄이 있다고 생각합니다.'Program_Files'는'Program Files'을 읽어야합니다. – dbenham