2

複数のプロジェクトで構成されるマルチモジュール Android Maven プロジェクトと、非 Android ベースの JUnit テストを実行する Android ライブラリ プロジェクト (baselib) があります。

ここに画像の説明を入力

これは、Maven でテストを実行している限り機能します。Run->As JUnit テストを使用して Eclipse で baselib JUnit テストを実行すると、現在のバージョンが取得されません。つまり、JUnit テストでの変更は、Maven ビルドを作成するまで効果がありません。

bin フォルダーを Eclipse ビルド パスに追加することを考えましたが、Eclipse でエラー メッセージが表示されます。

出力フォルダー ...baselib-TRUNK/bin/classes を ...baselib-TRUNK/bin 内にネストできません

それはなんとなく明らかです。そこで、jar 自体をビルド パスに追加することを考えました。外部jarとして1回追加し、次にjarとして1回追加しました。ただし、一部のコードを変更して保存すると、jar のタイムスタンプには現在のバージョンが含まれていますが、まだコードの現在のバージョンを取得できません。(Eclipse では [自動ビルド] がオンになっています)。出力フォルダーは、pom.xml で設定されている .../bin/classes として Eclipse のビルド パス構成によって認識されます。また、テスト クラス自体を含むビルド パスに/bin/test-classesを追加しようとしましたが、まだ新しいバージョンのコードはありません。

現在のバージョンを取得するためにこれが機能しないのはなぜですか?どうすれば解決できますか?

4

1 に答える 1

2

ライブラリ プロジェクトは同じワークスペースにあるため、プロジェクトを直接参照できます。プロジェクトの設定を開き、[Android] セクションをクリックします。

ここに画像の説明を入力

これで、ライブラリ プロジェクトを参照するためのウィンドウが表示されます。 ここに画像の説明を入力

[追加...] ボタンをクリックし、必要なプロジェクトを選択して [OK] をクリックし、[適用] をクリックします。この方法で選択および参照できるのは、ライブラリとしてマークされているプロジェクトのみです。プロジェクトが表示されない場合は、その設定を開き、設定のこのウィンドウで [Is Library] ボックスにマークを付けます。

これで、プロジェクトはこれらのライブラリを参照し、それらに加えた変更も含めます。ライブラリが変更される可能性がある場合、これは jar を使用するよりも優れています。そうしないと、変更を加えるたびに jar を削除して再度追加する必要があります。

于 2013-06-06T17:55:10.760 に答える