我们正在使用Eclipse Indigo编写一个Java6项目,我们目前在Eclipse环境下的开发环境和与Jenkins的集成环境之间存在一些编译差异。
事实是,我们在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带来如此巨大差异的神奇参数?
答案 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