所以这将是一个漫长的故事,所以我提前感谢你阅读。首先让我说我已经使用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,但假设它仍在那里编译好,接下来该怎么做?
再次感谢您的阅读!