私はsbtosgi pluginを使用して、bndを使用してsbtビルドからOSGiバンドルを生成しています。 sbtosgiバンドルは、osgi-bundleバンドルを生成するタスクを提供します。 sbtプロンプトからosgi-bundleを実行すると、適切なヘッダーを含めるようにJARが更新されますが、クリーンパッケージを実行すると、OSGiヘッダーのないJARが生成されます。 Mavenの話では、パッケージ化= bundleでmaven-bundle-pluginを使用するのと同じことをやろうとしています。つまり、プロジェクトの主な成果物はOSGiバンドルでなければなりません。sbt公開タスクの一部としてsbtosgiを使用してosgiバンドルを生成する方法
sbtosgiプラグインのソースを読んだところ、osgi-bundleタスクはpackageBinによって作成されたJARを上書きしているようです。それは代わりにデフォルトのタスクのOSGiのバンドルのタスクを使用するように、私はpackageBinの定義を上書きしようとした:
packageBin in Compile <<= OsgiKeys.bundle
しかしこれは循環参照になった:
[error] Cyclic reference involving
[error] {file:project/*:osgi-bundle
[error] {file:project/compile:full-classpath
[error] {file:project/compile:exported-products
[error] {file:project/compile:package-bin
私はSBTに、むしろ新たなんですここからどこに行くのかは分かりません。どんな助けもありがとう。
ありがとう、これは素晴らしいことです! – mpilquist