1

次の構造を持つバンドル プロジェクト (Eclipse) があります。

src/main/java
   Bundle source files here
src/test/java
   Bundle internal test cases

バンドルを作成しようとすると、「未解決の参照」があるというエラーが表示されます。エラーは、内部テスト クラスが原因です。これらのクラスを無視するように BND を構成するにはどうすればよいですか?

テスト ケースは、バンドルによって提供される API よりもはるかに細かい粒度であるため、テスト ケースを別のプロジェクトに分割することはできません。

4

3 に答える 3

4

問題は、Eclipse が両方src/main/javasrc/test/java同じ出力ディレクトリ (おそらく "bin") にコンパイルし、Bnd が bin フォルダー内のコンパイルされた .class ファイルをスキャンすることによって機能することです。

これは、次の手順に従って修正できます。

  1. を右クリックしsrc/test/javaて [ビルド パス] > [出力フォルダーの構成...] を選択します。

  2. 「特定の出力フォルダ」をクリックし、 などのディレクトリ名を入力しますbin_tests

これで、Eclipse はテスト クラスを別のフォルダーにコンパイルし、Bnd は実際のクラスのみを認識します。

于 2011-03-04T05:36:57.870 に答える
0

テスト クラスが jar バンドル ファイルに含まれていると仮定します (そうではないはずです)。jar ファイルの内容を確認し、テスト クラスが含まれないようにパッケージ プロセスを変更します (maven ビルドには含まれませんsrc/test/java)。

m2eclipse を使用してプロジェクトをパッケージ化すると、コマンドラインから maven を実行するとうまくいくのに、この動作に気付くことがありました。

于 2011-03-02T16:47:44.953 に答える