【发布时间】:2013-06-17 12:29:55
【问题描述】:
最近我遇到了代码编译的奇怪问题 - 相同的代码在我的开发机器上运行良好(编译),但在 jenkins 上失败。
我的开发机器配置:
- win7_64
- sun jdk6 _64
Jenkins 配置:
- ubuntu x86
- sun jdk6 x86 - 当前设置为 JAVA_HOME(openjdk6 安装在 sun 旁边的系统中)
都使用 sbt 0.11.2 和 scala 2.9.1
导致问题的代码与 AWS Transcoder 服务相关。
val result = new CreateJobRequest()
result.setInput(input.asAWSJobInput)
result.setOutputs(outputs.map(_.asAWSJobOutput))
result.setPipelineId(pipelineId)
- CreateJobRequest 是来自 com.amazonaws.services.elastictranscoder.model 包的 CreateJobRequest
- asAWSJobInput 将 scala 类映射到上述包中的 JobInput
- asAWSJobOutput 将 scala 类映射到上述包中的 CreateJobOutput
- 我在这里也使用了 collection.JavaConversions._(在 setOutputs 中转换为 java 集合)。
这在本地编译得很好,并在 jenkins 上返回:
值 setOutputs 不是 com.amazonaws.services.elastictranscoder.model.CreateJobRequest 的成员
我尝试了一些方法,例如显式调用转换或将 setOutputs 参数提取到 val 中。我也尝试过使用 withOutputs - jenkins 上的类似结果。 我还尝试过使用 setOutput(CreateJobOutput) ,它在两台机器上都运行良好。
这似乎是与环境有关的问题,但我现在不知道是什么原因造成的。 非常感谢任何帮助。
最好的问候, 阿雷克
【问题讨论】:
-
也许您在本地和远程有不同版本的 amazon artifact?
标签: java scala amazon-web-services