2008-09-26 10 views
2

Je suis en train d'installer mon premier travail dans Hudson et je rencontre des problèmes. Le travail surveille deux référentiels, l'un contenant nos fichiers d'installation de base de données, l'autre un peu de code qui valide et teste les fichiers d'installation de base de données.Le code exécuté par Hudson ne trouve pas d'exécutable sur la ligne de commande

Une partie du code exécuté lancera les fichiers d'installation validés à PostgreSQL, en utilisant l'outil de ligne de commande psql, en utilisant Runtime.exec(). Ce code fonctionne parfaitement sur ma machine, mais quand Hudson exécute (machine différente) je reçois l'erreur suivante:

java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system cannot find the file specified

psql.exe est sur le chemin, et je peux l'exécuter en tapant la chose au En ligne de commande, à partir du même endroit, Hudson exécute le code. Le fichier qui doit être passé dans psql existe.

Des idées?

Répondre

3

Je trouve que vous devez avoir le programme dans le chemin lorsque vous lancez hudson ou l'esclave. En dépit de la possibilité de définir le chemin dans hudson, cela ne semble pas fonctionner. Vous pouvez également mettre le chemin complet dans la commande, ce qui est vraiment une bonne idée du point de vue de la sécurité.

+0

J'ai redémarré le conteneur severlet et il semble fonctionner (en ce sens qu'il ne dit pas qu'il ne peut pas trouver psql). À votre santé – rjohnston