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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top