0

所以这将是一个很长的故事,所以我提前感谢你的阅读。首先让我说我使用 java 已经超过 15 年了,我已经在这个特定的项目上工作了 5 年多,我很难过。

我在 3 台不同的计算机上编译项目。我正在计算机 A 上的 eclipse juno 中处理该项目,一切都很好,所以我检查了代码。然后我检查了计算机 B 上的代码并尝试了 javac clean build 并得到了一堆错误,从“循环继承涉及......”开始,然后是一堆错误,如“找不到符号”,还有很多这些然后它有几个“没有找到合适的方法”,直到最后它只是摇摆不定,甚至从来没有给我一个错误总数。

所以,我从来没有见过这样的事情,正如我所说的代码在当天早些时候在另一台计算机上很好,所以我只是启动了 eclipse,告诉它做一个干净的构建,一切都很好。返回终端并执行 javac 并编译正常。唷,我说,这一定只是一个小故障。

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

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

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

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

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

再次感谢阅读!

4

0 回答 0