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

Xav*_*ois 4 java eclipse jvm compilation 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可以产生如此大的差异?

fre*_*asy 5

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

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

Eclipse如何仅使用JRE编译类?

编辑:

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