代码之家  ›  专栏  ›  技术社区  ›  Matthew Hegarty Edwin Lunando

Hudson build在浏览器中运行时失败,但可以从命令行运行

  •  1
  • Matthew Hegarty Edwin Lunando  · 技术社区  · 17 年前

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

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

    第208行:变量“screen”在同一范围内定义为乘法。

    我已经尝试过将Hudson配置为直接使用ant和使用批处理脚本——两者都在Hudson中失败。

    我在Firefox、IE6和Chrome上试过,也看到过同样的问题。

    有人能建议我们如何解决哈德逊的这个问题吗?

    2 回复  |  直到 17 年前
        1
  •  1
  •   Matthew Hegarty Edwin Lunando    17 年前

    问题解决了。

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

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

        2
  •  0
  •   matt b    17 年前

    我认为这不是Hudson的直接问题,就像构建脚本和/或环境本身一样。

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

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