Hudson运行的代码无法在命令行中找到可执行文件

时间:2008-09-26 01:22:45

标签: java hudson runtime.exec

我正在Hudson开始我的第一份工作,而且我遇到了一些问题。该作业监视两个存储库,一个包含我们的数据库安装文件,另一个包含验证和测试数据库安装文件的一些代码。

运行的部分代码将使用psql命令行工具,使用Runtime.exec()在PostgreSQL中抛出经过验证的安装文件。这段代码在我的机器上完美运行,但是当Hudson执行它(不同的机器)时,我得到以下错误:

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

psql.exe在路径上,我可以通过在命令行输入整个内容来执行它,Hudson正在执行代码。要传递给psql的文件存在。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我发现当你启动哈德森或奴隶时你需要在路径中有程序。尽管有能力在哈德森设置路径,但它似乎不起作用。你也可以把完整的路径放在命令中,无论如何从安全角度来看这确实是一个好主意。