Executar com obras Formiga com caminho absoluto, mas o caminho não relativa
-
23-08-2019 - |
Pergunta
Eu tenho o seguinte trecho no meu script Ant. Ele executa muito bem:
<exec executable="C:\test\foo\programName.exe" />
Mas então, quando eu tentar executá-lo, definindo o diretório, assim:
<exec executable="programName.exe"
dir="C:\test\foo\" />
eu recebo:
Executar falhou: java.io.IOException: Não é possível executar programa "Programname.exe" (No diretório "C: \ test \ foo"): erro CreateProcess = 2, O sistema não pode encontrar o arquivo especificado
ajuda por favor! Por que não trabalhar quando o diretório é especificado separadamente?
Solução 2
acabei furando com isto:
<exec executable="${basedir}\myexefile.exe}" />
Outras dicas
Adicione o resolveexecutable atributo:
<exec executable="programName.exe"
resolveexecutable="true"
dir="C:\test\foo\" />
resolveexecutable Quando esta atributo é verdade, o nome do executável é resolvido em primeiro lugar contra o basedir projeto e se isso faz Não existe, contra a execução diretório se especificado. no Unix sistemas, se você só quer permitir execução de comandos nos usuário caminho, defina como falso. desde 1,6 Ant Não, o padrão é false
Tente isto:
<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>
Parece que o diretório do qual você executar o programa deve estar em seu caminho de construção.