0

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または、ファイルを渡すのではなく、プラグインにプロパティを含める方が良いですか?

4

1 に答える 1

1

.bnd ファイルは次のようになります。

Bundle-Activator: just.a.broker.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Require-Bundle: org.apache.activemq,\
  just.msg 

Import-Package: *,\
  javax.naming,\
  javax.xml,\
  javax.xml.parsers,\
  org.apache.log4j.xml,\
  org.osgi.framework

Bundle-ClassPath: .
Export-Package: just.a.broker

お役に立てれば。

于 2016-07-07T14:35:26.180 に答える