dev:watchコマンドが必要なようです。ドキュメントから:
watch コマンドを使用すると、開発時に役立ちます。監視する一連の URL を構成できます。指定された URL に一致するすべてのバンドルの場所が自動的に更新されます。これにより、バンドルを手動で更新したり、必要に応じてバンドルをシステム フォルダーにコピーしたりする必要がなくなります。実際に自動的に更新されるのは Maven ベースの URL と Maven スナップショットのみであることに注意してください。
dev:ウォッチ *
実際には、URL に「-SNAPSHOT」が含まれる mvn:* に一致する場所を持つすべてのバンドルを監視します。
Karaf シェルから「dev:watch --help」を実行すると、使用可能なフラグと引数が一覧表示されます。
似たようなものはPAXプラグインです
Eclipse 用の m2 maven プラグインがあれば、これらのいずれもうまく機能します。
更新: 私の会社では、可能な限り TDD になるよう努めているため、Karaf を明示的に開始せずに多くの開発が行われています。単体テストの通常の組み合わせでは、 Pax Examも使用しています。これは、Eclipse 内から実行した場合でも非常に優れています =)
これにより、Karaf は Equinox/Felix/Concierge で実行されるため、Karaf の仕様に縛られすぎないようにすることができます (そのため、JAAS 認証など、私たちが依存するさまざまな Karaf の仕様を模倣しています)。他の多くのクールなツール/機能に加えて、Karaf 機能をプロビジョニングでき、TinyBundles を使用してその場でバンドルを作成することもできます (これもモック/スタブに役立ちます)。
Pax Examは、JUnit @Runner を提供することで JUnit フレームワークにフックします。最新バージョン (2) ははるかに高速で、DSL ベースの API を備えているため、テストは非常に簡潔で読みやすいものになっています。
Pax Examを使用することで、テスト範囲が広くなり、開発時間が短縮されます。テストがあまり実用的でない場合や、テストで表面化しないバグを探している場合は、dev:watch コマンドが非常に役立ちます。
要約すれば; IMO は間違いなくテストを使用して開発を推進する必要があります ( Pax Examは既存のビルドに適切に挿入され、慣れると開発がより迅速に行われるようになります)。dev:watchコマンドをすぐに使い始めることができます。これにより、現在の状況が確実にスピードアップします。
更新 2:別の質問に答える際に、ComponentFactory をテストする Pax-Exam の例を追加しました。テスト駆動開発は、今日の開発者が利用できる最も効率的なワークフローです。質問へのリンク: osgi: ServiceFactories を使用していますか? ソースコードへのリンク: http://dl.dropbox.com/u/2465717/net.earcam.example.servicecomponent_2011-08-16_15-52.tgz