2011-02-02 47 views
2

如何在Apache Felix中將我的包添加到我的包中?在POM文件中添加jar到apache felix?

我正在使用maven,使用maven-bundle-plugin來管理我在OBR中的捆綁軟件。

但我不確定在jar中我的POM中聲明哪裏的依賴關係,以便maven正確地將它編譯到最終包中。

這是我的插件的外觀在POM:

<plugin> 
<groupId>org.apache.felix</groupId> 
<artifactId>maven-bundle-plugin</artifactId> 
<version>2.1.0</version> 
<extensions>true</extensions> 
<configuration> 
    <instructions> 
     <Bundle-Category>sample</Bundle-Category> 
     <Bundle-SymbolicName>${artifactId} 
       </Bundle-SymbolicName> 
     <Export-Package> 
      //blahblah 
     </Export-Package> 
    </instructions> 

    <!-- OBR --> 
    <remoteOBR>repo-rel</remoteOBR> 
    <prefixUrl>file:///C:/Users/blah/Projects/Eclipse3.6-RCP-64/Felix/obr-repo/releases</prefixUrl> 
    <ignoreLock>true</ignoreLock> 
</configuration> 

回答

4

如果你有這樣的

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.14</version> 
</dependency> 

一個dependecy你可以

<instructions> 
    <!-- embedded dependencies --> 
    <Embed-Dependency>log4j;groupId=log4j;inline=false</Embed-Dependency> 
</instructions> 
將它嵌入到你的包

你會fi在Bundle Plugin for Maven站點的「Embed Dependency」部分中有詳細描述

+0

好 - 我實際上看到它在清單文件中生成了「Bundle-Classpath」 - 這是一個OSGI指令。非常感謝你! – drozzy 2011-02-02 19:51:11