2

私の現在のタスクは、Ubuntu NetBeansで作成および開発されたJavaプロジェクトを取得し(パレットを広範囲に使用しているため、NBを引き続き使用できなくなります)、Webカメラとインターフェイスするソフトウェアが含まれるためXPに転送します。クライアントは厳密にXPを使用します。Ubuntuでは、修正を求められたいくつかの機能上の問題を除いて、プロジェクトは正しく完全にコンパイルされます。

そこで、Subversionを使用して、XPを実行しているVirtualBoxのNBにチェックインし、コードで呼び出されたすべての正しいライブラリを、私が知る限り追加しました。いくつかの問題が残っていますが、ほとんどすべてが、@Overrideを拡張する内部クラスの一部であるメソッドの上のアノテーションに関連していますorg.jdesktop.application.Task<Boolean, Void>。私はこれを調査し、何を意味するのか非常に漠然とした理解を持ってい@Overrideますが、それを私の状況にどのように適用するかはわかりません。

複数のクラスで問題が一貫していることは、クラスパスを正しく実行していないことを示していますが、エラーは見つかりません。あなたの経験では、これらの状況はどのような問題を示唆していますか?

編集:私はすでに最も一般的な提案であると思われるものを試したことに言及するのを忘れました。すべてが新しくインストールされ、両方のマシンで使用されるJDKは1.6です。

編集編集:エラーは内部で発生します:

private class TakeSnapshotTask extends org.jdesktop.application.Task<Boolean, Void>

そして、次の最初の行で:

@Override
protected Boolean doInBackground() 

次のエラーが発生します。

「メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません」

@Overrideメソッドのみを使用した、Cのようなオーバーロード演算子に似たものを示しているように見えます。この場合、問題はjdesktopのタスクインターフェイスにメソッドがないことだと思い始めていますBoolean doInBackGround()。ただし、jdesktopAPIを特定するのに苦労しています。タグとしてjdesktopを追加しました。

4

3 に答える 3

1

私の最初の考えは大文字と小文字の区別ですが、それは通常逆に現れます(つまり、ファイルWindowsで見つかりますが、Linuxでは見つかりません)。プロジェクトに同じ名前のファイルがありますが、ケースが異なる可能性がありますか?この場合、Windowsは、Ubuntuで大文字と小文字を区別する一致と比較して、一部のファイルの異なる(そして明らかに間違った)バージョンを検出している可能性があります。

いずれにせよ、「ほとんどすべてが@Overrideアノテーションに関連している」から問題を推測するよりも、実際のエラーメッセージを投稿した方が役立つでしょう。

于 2010-06-29T13:20:11.330 に答える
0

プラットフォーム/OSは関係ありません。このエラーは、2つの異なるJava環境でコードを実行していることを強く示唆しています。

1.6 JDKに対してコードをコンパイルしているだけでなく、1.6JVMでもコードを実行していることを再確認してください。

于 2010-06-29T13:58:01.373 に答える
-1

問題が解決しました。ライブラリにJARファイルがありませんでした。Ha!のおかげで、その中の.classファイルにアクセスできることは私にとってニュースでした。

于 2010-06-29T15:45:25.767 に答える