3

私は Eclipse を使用して Java コードを記述し、DropBox を使用して自分のコードを複数のコンピューター間で他のユーザーと同期しています。ほとんどの場合、すべてが期待どおりに機能します。誰かがいずれかの側で変更を加えると、変更が保存され、他の人が Eclipse ワークスペースを更新すると、変更が反映され、正常に表示および実行できます。

場合によっては、いくつかのエラーのうちの 1 つが発生します。Eclipse は、メイン クラスが見つからないと言う場合もあれば、クラス自体が見つからないと言う場合もあります。エラーが報告されない場合もありますが、何らかの理由で実際には .class ファイルが更新されず、コンパイラが新しいソース コードを表示して保存しても古いバージョンが実行されます。その後、コードをファイル システムの別の場所にある新しい .java ファイルに手動でコピーしてコンパイルすると、正常に動作することに気付きましたが、何らかの理由で .class ファイルの再生成を拒否し、削除する必要があります。手動で、他のプロジェクトで生成されたものに置き換えてください。そうすれば機能します。しかし、他の問題を解決するには、すべてを手動でコピー、削除、および再貼り付けする必要があります....

[実際のエラーには、NoClassDefFoundError、UnsupportedClassVersionError、およびメイン クラスがないことに関連するその他のエラーが含まれます。]

ここでの説明がやや曖昧であることは認識していますが、残念ながら何が起こっているのか完全にはわかりません。これらすべての問題を解決するのに役立ついくつかの基本的な事実が欠けていることを願っています。

ありがとう!

4

5 に答える 5

5

ソースの共有に Dropbox を使用すると問題が発生することは間違いありません。

Eclipse は、アップデートをアップロードおよびダウンロードしている間、Dropbox が何をしているかを認識していないため、それらのアクティビティは確実に同期されません。Eclipse がビルドなどを行おうとする任意の時点で、予期しないアクティビティが発生していることがわかります。おそらく、部分的にダウンロードされたソース ファイルで、表示されている特定のエラーを説明している可能性があります。

写真やドキュメントを共有するよりも複雑なことをしようとしています。私からのアドバイスは、ソース コードの共有と管理のために git や Subversion などのソース管理システムを使用することです。次に、これらのシステムを使いやすい方法で統合するように設計された Eclipse 用のプラグインを利用できます。そこには学習曲線がありますが、スキルはあなたに十分に役立ちます.

Dropbox のようにソースの共有、バックアップ、バージョン管理をサービスとして利用したい場合は、githubunfuddleなどのこれらのソリューションのオンライン バージョンを使用できます。彼らも無料です。

于 2010-02-26T19:17:39.377 に答える
4

SubversionGit、およびすべてのバージョン管理ソフトウェアは、これらの問題をすべて解決します。

于 2010-02-26T19:19:29.823 に答える
3

Dropbox は、実際にはコードを共有するためのシステムではありません。あなたがすべきことはSVN をセットアップし、ソースファイルだけをコミットすることです。こうすれば、この種のエラーは発生しません。

于 2010-02-26T19:17:45.007 に答える
2

Dropbox にはバージョン管理機能があり (古いバージョンのファイルを復元できます)、この問題に対する恐ろしい解決策ではないようです。私は Eclipse リポジトリを Dropbox に保存しているので、どのコンピューターからでも利用できます。しかし、私は自分でしか使用していないので、あなたの問題には遭遇していません.

問題が発生していると思われるケースが 1 つあります。それは、クラス ファイルがドロップボックスにも保存されている場合です。これはすべてを台無しにするだけです。すべてのビルド成果物 (クラス、jar など) のローカル ハード ドライブ上の場所を指定し、ドロップボックスにあるのは .java ソースだけであることを確認してください。

実際、Eclipse プロジェクトをドロップボックスに保持するのではなく、Eclipse プロジェクトを作成してドロップボックス内の Java ファイルを指すようにすることをお勧めします。

これがうまくいかない場合は、ここにいる他の人が言ったことに従って、どこかに SVN リポジトリをセットアップしてください。思ったより簡単です。

ああ、もう 1 つの考えられる問題は、日付です。Java ファイルの日付が前後にジャンプしていないことを確認する必要がある場合があります (開発者の 1 人が別のタイム ゾーンにいる場合に発生する可能性があります)。この場合、Eclipse はファイルを再コンパイルしないことを好む場合があります。

また、現在行っている copy/etc 手順の代わりに、プロジェクトを強制的にクリーンにしてみてください。

詳細情報のリクエストへの応答:

Eclipse を起動するときに、ドロップボックスにないワークスペースを選択/作成します。最適な場所は、おそらくホーム ディレクトリの外です。既定のワークスペースを既に指定している場合は、ファイル メニューにワークスペースの切り替え項目があるはずです。

プロジェクトを作成します。[既存のソースからプロジェクトを作成] を選択し、ドロップボックスでソース ファイルを指定します。クラスファイルをドロップボックスに入れないようにするために、「ソースファイルとクラスファイル用に別のフォルダーを作成する」必要があると思います。「ファイルをワークスペースにコピーする場合は、「いいえ」と言ってください。

これにより、有効で機能するプロジェクトが得られます。これらの問題がもう見られないことを願っています。

もう1つ役立つことがあります-これは、上記の手順なしで既存のプロジェクトで機能する可能性があります...

ファイルを更新 (f5) してドロップボックスから変更をロードするたびに、[プロジェクト/クリーン] メニューを選択し、プロジェクトを選択します。これにより、すべてのクラス ファイルが削除され、再構築されます。

クラスファイルがドロップボックスで共有されている場合でも、Eclipse を開いている他の人に奇妙な結果をもたらす可能性があるため、上で述べたようにワークスペースを再構築することを強くお勧めします。

于 2010-02-26T19:51:40.790 に答える
-2

メインクラスがないことを回避する方法

1 つ提供します。その問題は DropBox とは関係ありません

于 2010-02-27T09:32:57.593 に答える