0

というわけで長文になりますが、どうぞよろしくお願いいたします。まず、私は 15 年以上 Java を使用しており、この特定のプロジェクトに 5 年以上取り組んでおり、困惑しています。

3 台の異なるコンピューターでプロジェクトをコンパイルします。私はコンピューター A の eclipse juno でプロジェクトに取り組んでいましたが、すべて問題なかったので、コードをチェックインしました。次に、コンピューター B のコードをチェックアウトし、javac のクリーン ビルドを試みたところ、「... を含む循環継承」から始まり、「シンボルが見つかりません」などの一連のエラーが発生し、多くのエラーが発生しました。これらは、これらの「適切な方法が見つかりません」といういくつかのエラーが発生し、最終的にはうまくいき、エラーの合計が表示されることさえありませんでした。

だから、私はこのようなものを見たことがなく、コードは別のコンピューターでその日の早い段階で問題がなかったので、Eclipseを起動してクリーンビルドを行うように指示したところ、すべて問題ありませんでした. ターミナルに戻り、javac を実行すると、正常にコンパイルされました。ふぅ、私は言った、それはただの不具合だったに違いない。

次に、夜間ビルドを行うコンピューター C で、コンピューター B と同じエラーが発生しました (コンピューター B は mac でコンピューター C は rhel ですが、どちらも jdk1.7u15 を実行していたことに注意してください)。これで故障ではないことがわかりましたが、どうすればよいでしょうか。

コードを調べてみると、循環的な継承がなく、シンボルが見つからないということは、本来あるべき場所にあると確信しています。少し調査したところ、Eclipse は内部コンパイラを使用しているため、コンパイル間の不一致が説明できることがわかりましたが、同じコード ベースで大幅に異なる結果が得られる理由は説明されていません。

アイデアがなく、更新 15 で何か変なことがあることを期待して、コンピューター B を jdk1.7u51 に更新しましたが、残念ながら同じエラーが発生しています。

コンパイラの出力を見なくても (これは、私が説明したほど興味深いものではありません)、さらに重要なことに、実際のコードを見ないと、あなたができることはあまりありません。しかし、私が真実を言っていると仮定すると、循環継承はなく、欠落しているシンボルはなく、Eclipse は javac が拒否したときにコードを正常にコンパイルします。

私の次の考えは、Eclipse を更新することですが、Eclipse でまだ問題なくコンパイルできると仮定すると、次に何をすべきでしょうか?

読んでくれてありがとう!

4

0 に答える 0