Ant build.xml requer input do usuário, mas o Eclipse não possui tty

Estou tentando integrar melhor o Eclipse com meu build.xml. Meu arquivo de compilation chama o GNU Make para a parte nativa do programa, e o Makefile usa o sudo para mover as bibliotecas compiladas para o caminho do sistema. Infelizmente, isso requer a inserção de uma senha e o terminal do Eclipse não aceita input do usuário. Portanto, o resultado da execução da construção no eclipse é:

[exec] sudo: no tty present and no askpass program specified [exec] make: *** [install] Error 1 

Qualquer maneira de contornar este problema? A construção de formigas pode ser elevada para se enraizar de outra maneira?

Configure uma conta separada, por exemplo, implantador . Modifique o /etc/sudoers para include aliases que permitam ao implementador executar um único comando, por exemplo, implantar , como root. Faça o deployer NOEXEC: Armazene a senha do implementador em um arquivo invisível, por exemplo, .deployconf com access somente para usuário: por exemplo, 400 ou 600 . Carregue a senha em ant e use conforme necessário:

Isso funciona bem com , mas eu não tentei com . Algum esforço pode ser necessário para manter os linefeeds fora do .deployconf .

Você poderia configurar seu arquivo / etc / sudoers para que ele especifique NOPASSWD: para o usuário sob o qual o Eclipse está em execução e para o comando que você está usando para mover as bibliotecas. Usando o comando visudo, você pode adicionar isto ao final do / etc / sudoers:

 eclipseuser ALL = NOPASSWD: /bin/cp 

Esteja ciente de que isso representa um risco de segurança, já que o eclipseuser teria o poder de sobrescrever qualquer arquivo no sistema.

Talvez uma ‘solução’ estúpida, mas por que não fazer a implantação de um passo separado? Faça a construção criar um artefato de empacotamento: DEP, RPM ou algo assim.