Jenkins中的编译错误,但在Eclipse中没有

时间:2012-06-14 12:22:24

标签: java eclipse compilation jvm jenkins

我们正在使用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带来如此巨大差异的神奇参数?

1 个答案:

答案 0 :(得分:5)

Eclipse使用自己的编译器。在极少数情况下,Eclipse编译器和OpenJDK之间几乎没有区别。有关更多一般信息,请参阅:

http://www.eclipse.org/jdt/core/

How does Eclipse compile classes with only a JRE?

修改

接口的编译错误可能与此JDK错误有关:http://bugs.sun.com/view_bug.do?bug_id=6908259