涉及循环继承的奇怪Java编译问题

涉及循环继承的奇怪Java编译问题,java,eclipse,javac,cyclic,Java,Eclipse,Javac,Cyclic,所以这将是一个很长的故事,所以我提前感谢你们的阅读。首先,我要说的是,我已经在java上工作了15年多,在这个特定的项目上工作了5年多,我感到很困惑 我在3台不同的计算机上编译这个项目。我在计算机A上用EclipseJuno进行项目,一切都很好,所以我签入了代码。然后我检查了计算机B上的代码,尝试了一个javac干净的构建,得到了一系列错误,从“循环继承涉及…”开始,然后是一系列错误,比如“找不到符号”,其中有很多错误,然后它有一些“找不到合适的方法”直到最后它才停下来,甚至没有给我一个错误总数

所以这将是一个很长的故事,所以我提前感谢你们的阅读。首先,我要说的是,我已经在java上工作了15年多,在这个特定的项目上工作了5年多,我感到很困惑

我在3台不同的计算机上编译这个项目。我在计算机A上用EclipseJuno进行项目,一切都很好,所以我签入了代码。然后我检查了计算机B上的代码,尝试了一个javac干净的构建,得到了一系列错误,从“循环继承涉及…”开始,然后是一系列错误,比如“找不到符号”,其中有很多错误,然后它有一些“找不到合适的方法”直到最后它才停下来,甚至没有给我一个错误总数

所以,我从来没有见过这样的事情,正如我早些时候在另一台计算机上说的,代码很好,所以我启动了eclipse,让它进行干净的构建,一切都很好。回到终端,做一个javac,它编译得很好。哎呀,我说,这一定是个小故障

然后,在每晚构建的计算机C上,它给出了与计算机B相同的错误(注意,计算机B是mac,计算机C是rhel,但都运行jdk1.7u15)。所以现在我意识到这不是一个小故障,但该怎么办呢

我去看看代码,我肯定没有循环继承,它说找不到符号的地方就在它应该在的地方。我调查了一下,发现eclipse使用了一个内部编译器,因此这可以解释编译之间的差异,但它没有解释为什么它们在相同的代码基础上给出了截然不同的结果

出于想法,并希望有一些奇怪的更新15,我更新计算机B到jdk1.7u51,但不幸的是,它给出了相同的错误


我意识到没有看到编译器的输出(这实际上没有我描述的有趣),或者更重要的是,没有看到实际的代码,您就没有什么可以帮助的了。但是假设我说的是实话,没有循环继承,没有丢失的符号,并且当javac拒绝它时eclipse可以很好地编译代码,有人对我现在可以尝试什么有建议吗

我的下一个想法是更新eclipse,但假设它在那里仍然编译良好,下一步该怎么做


再次感谢您的阅读

“看不到实际代码,你帮不了多少忙”-绝对正确。因此,您应该将问题简化为一个简单的示例,该示例仍然复制该示例,更改任何敏感名称,并发布该代码。听起来你可以始终如一地重现这个问题,所以你应该能够相当容易地一次删除其中的一部分。@JonSkeet:把它分解开来的好建议。但我想我的观点是,我不一定要在我的具体问题上寻求帮助,但更多的是关于这个巨大的差异是如何发生的,以及如何着手处理这个问题。但是,再次感谢,我可能能够删除一两个文件并开始添加回来。很好的建议。考虑到它发生在两台计算机上,这可能是一个你还没有发现的代码错误-但是如果没有看到任何代码,我们就不能说太多了。@JonSkeet:是的,我很感激你不能帮我处理代码,因为我没有提供任何东西,我更想寻找一种解释,一个编译器如何能说某个东西出了严重错误,而另一个编译器却能说它完美无缺。很抱歉,我没有弄清楚我在问什么。答案通常是“编译器之间的一些细微差别”——这不是Javac和Eclipse之间的第一个区别。当你在两台计算机上拥有相同版本的同一个编译器,但你仍然看到了差异时,你很难弄清楚到底发生了什么。