我正在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的文件存在。
有什么想法吗?
答案 0 :(得分:3)
我发现当你启动哈德森或奴隶时你需要在路径中有程序。尽管有能力在哈德森设置路径,但它似乎不起作用。你也可以把完整的路径放在命令中,无论如何从安全角度来看这确实是一个好主意。