【发布时间】:2012-06-14 12:22:24
【问题描述】:
我们正在 Eclipse Indigo 下编写 Java6 项目,目前我们在 Eclipse 下的开发环境和与 Jenkins 的集成环境之间存在一些编译差异。
- 我们的 Eclipse 在 Windows 7 和 JDK 1.6.0_30 下运行。
- Jenkins 在 Linux 下使用 JDK 1.6.0_31(也使用 1.6.0_24 版本进行了测试)。
事实上,我们在 Jenkins 上只遇到了一些编译错误,例如:
-
both define … but with unrelated return types当一个接口继承自两个声明相同方法的接口(具有不同但兼容的类型)时 -
no unique maximal instance exists for type variable B with upper bounds I,…用于返回原始类型B而不是更具体的B<C>的某些方法。
这里的问题不是解决这个问题;通过对源代码进行一些更改,我们成功地编译了 Jenkins。
问题是:为什么 Jenkins 的编译方式与我们的 Eclipse 不同? 是否有一些神奇的参数赋予编译器或 JVM 可以产生如此大的差异?
【问题讨论】:
-
你有什么样的詹金斯工作?马文?
-
您如何构建您的项目?使用 Maven?
-
嗯,你有 Maven build VS Eclipse full build VS Eclipse Incremental build。最好在本地尝试与 Jenkins 相同的构建。你也可能有类路径不一致。
-
哎呀,我忘了说:是的,我们使用 Maven。
标签: java eclipse compilation jvm jenkins