在浏览器中运行时Hudson构建失败但在命令行中运行

时间:2009-05-21 14:28:41

标签: hudson

我正在为一个生成javascript文件的项目设置一个新的Hudson任务(在WinXP上),并在构建过程中执行xslt转换。

从Hudson运行时,ant构建在XSL转换上失败,但是当从命令行运行相同代码库(即在Hudson工作区中)的相同构建时,它可以正常工作。

失败消息是:

第208行:变量'screen'在同一范围内被多次定义。

我尝试将Hudson配置为直接使用ant并使用批处理脚本 - 在Hudson中都失败了。

我曾尝试在Firefox,IE6和Chrome中看到同样的问题。

有人可以建议我们如何使用Hudson解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

问题解决了。

我们的构建实际上依赖于jdk 1.4.2,而Hudson似乎使用1.6运行。当我设置Hudson作为服务运行时,它作为我的本地用户运行,这意味着它选择了1.4.2 JAVA_HOME环境变量 - 因此工作。

我想另一个可能的解决方案是默认配置Hudson使用1.4.2。

答案 1 :(得分:0)

我认为这不是Hudson直接存在的问题,因为它与构建脚本和/或环境本身有关。

您的构建脚本是否依赖于定义的某些环境变量,或者更糟糕的是,该作业是从某个目录结构中运行的(即如果它从/ home / mash / blah下运行但不是从另一个目录下运行,如/ TMP)?构建脚本是否通过相对路径引用外部文件?

这些是我要研究的内容。对于环境变量,您可以告诉Hudson将这些变量传递给Ant。对于其他问题,您可能希望更改构建脚本。检查Hudson提供的控制台输出,并设置Ant以打印详细/调试消息,以更好地了解环境/文件路径。