複数のバンドルを持つ osgi アプリケーション (felix 内) があります。1 つのバンドルに共通のプロパティ ファイルがいくつかあり、残りのバンドルはそれらを使用するだけで済みます。
maven と spring osgi を使用します。プロパティ ファイルは次のようなリソースにあります。
<path to bundle>/src/main/resources/
common.properties
engine.properties
...
Maven は通常、バンドル jar 内にそれらをビルドするため、アプリケーション クラスパスにあるはずですが、Spring はそれらにアクセスできず、これは失敗します。
<context:property-placeholder location="classpath:common.properties" />
(classpath*: およびその他の組み合わせを試しました)
それは本当に osgi のイデオロギーに関するグローバルな問題であり、それを機能させるための標準的な方法はありませんか? そのようなハックと回避策のみですか<osgix:cmProperties...>
?
これは、デプロイが難しくなり、エラーが発生しやすくなるためですmvn deploy
。通常のアプリケーションのように、プロパティ ファイルを jar 内にデプロイすることはできません。リリースごとに手動でプロダクション ボックスにコピーする必要があります。