2010-11-18 13 views
1

私はこれがこのウェブサイト上で繰り返される質問だと思っていますが、私を満足させる答えは見つかりませんでした。javaで外部の.classファイルを使用しています。 EclipseをIDEとして使用する

基本的には、単体テストしたいjava .classファイルがいくつかあります。私はEclipse外の私のプロジェクトのbinフォルダにそれらをコピーし、Eclipseのフォルダをリフレッシュしました。それでも、私はクラスを使うことはできないようです。言い換えれば、私のようなコードを書くことはできません。

MyExternalClass myExtC = new MyExternalClass();

パッケージをインポートしようとしませんでした。

私はここで間違って何をやっている

\ binに\ラボの\ BLACKBOXでコピーしたファイル。

編集:私はまた、追加外部クラスフォルダを使用しようとしましたが、私は同じエラー

+0

これはそのままで動作します。ちょうど簡単なEclipseプロジェクトを作成し、Eclipse内から単体テストを実行してください – Bozho

+0

私の問題は、外部クラスを使用しようとすると「タイプとして解決できません」という問題が発生し、インポートしようとすると「インポートを解決できません。 –

答えて

1

が.classファイルがパッケージ構造に従って配置されていることを確認しました。

Javaランタイムがfoo.bar.MyExternalClassをロードすると、クラスパス上でファイルfoo/bar/MyExternal.classが検索されます。したがって、Eclipseに追加する外部クラスフォルダには、サブディレクトリbarを含むfooというディレクトリが含まれている必要があります。ディレクトリにはMyExternalClass.classが含まれている必要があります。

+0

これは私の問題を解決しました。私は、あなたが言ったようにクラスの完全なパスを含むプロジェクトのルートに "output"フォルダを作成し、ビルドパスに "Add Class Folder"を作成しました。ありがとうございました。 –

+0

あなたは大歓迎です! – harto

1

クラスファイルがたくさんある場合は、特定のパッケージ(つまりフォルダ階層)に存在すると宣言している可能性があります.Eclipseはそこでファイルを見つけることを期待しています。パッケージ構造が一致しない場合は、クラスインポートの問題があります。この構造体が何であるか知っていれば、クラスファイルをjarファイルにパックしてそこから取得できます。

関連する問題