2017-10-19 13 views
0

私は外部のjarライブラリに依存するkarafバンドルを書いています。ラップを使用してfeatures.xmlにこのバンドルをインポートすることができますが、これは独自のクラスローダーにロードされることを意味します。karaf:自分のコードをjarファイルにリンクする

私が望むのは、バンドルのクラスローダーがこのjarファイルにアクセスしたものをロードすることです。このjarファイル内のクラスを直接メソッド呼び出しする必要があります。これどうやってするの?

私は新しいバンドルを望んでいません - アプリケーションをリンクできるライブラリだけです。

おかげで、

答えて

0

あなたは次のようにあなたのバンドルを構築する際に、外部jarファイルを埋め込むしようとすることができます:

 <plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 
      <extensions>true</extensions> 
      <configuration> 
       <instructions> 
        <Export-Package> 
         ..., 
         root_package_in_external_jar*, 
         ... 
        </Export-Package> 
        <Import-Package> 
         ... 
        </Import-Package> 
        <Embed-Dependency>your_external_jar</Embed-Dependency> 
       </instructions> 
      </configuration> 
     </plugin> 
関連する問題