osgi コンポーネントをビルドしたいのですが、使用するように言われましたmaven-bundle-plugin
。これを my に追加することから始めましたpom.xml
:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.0</version>
<extensions>true</extensions>
<configuration>
<obrRepository>NONE</obrRepository>
<instructions>
<_include>-bnd.bnd</_include>
</instructions>
</configuration>
</plugin>
tag.bnd
に渡されるファイルに注目してください。<_include>
これらのファイルは最小限にするか、空の状態にしておくべきであり、必要なインポート/エクスポートなどを監視する必要があると人々が言っているのを聞いたことがあります。これは私が混乱するところです。MANIFEST.MF
何をインポートおよびエクスポートするかを知っているファイルがあります。ただし、.bnd
ファイルを機能させるには少し助けが必要です。現在、空のファイルを試していますが、正常.bnd
に機能しているかどうかはわかりません。
このプラグインと私がそれを機能させたい方法の経験がある人はいますか?
たとえば、ここにサンプル.bnd
ファイルがあります。しかし、彼がどのようにしてこれらの輸入/輸出が必要であると判断したのかはわかりません。
今のところ、テストしようとすると.jar
、
no main manifest attribute, in bundle-1.0.0.jar
MANIFEST.MF
に確かにあるという事実にもかかわらず、エラー.jar
。
更新:以前に持っていたものを共有できると思いMANIFEST.MF
ましたが、今はこのプラグインを介して生成したいと考えています。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Just a Name
Bundle-SymbolicName: just.a.name.broker;singleton:=true
Bundle-Version: 1.0.0
Require-Bundle: org.apache.activemq,
just.msg
Bundle-Activator: just.a.broker.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: javax.naming,
javax.xml,
javax.xml.parsers,
org.apache.log4j.xml,
org.osgi.framework
Bundle-ClassPath: .
Export-Package: just.a.broker
このようなマニフェストを作成するには、.bnd
ファイルをどのように表示すればよいでしょうか? .bnd
または、ファイルを渡すのではなく、プラグインにプロパティを含める方が良いですか?