OSGI嵌套依赖项jar

时间:2014-08-08 21:43:48

标签: osgi

如果我有一个OSGI Bundle,其嵌套在OSGI Bundle jar中,我是否需要在Import-Package清单中列出这些类,以便我可以使用它们?我想不会。

另外,如何将这些依赖关系jar添加到我的包中。我只是把它们放在根文件夹中吗?我是否需要向清单文件添加任何内容才能使用这些依赖项?

2 个答案:

答案 0 :(得分:1)

您不应将Import-Package用于嵌入式jar。而是使用Bundle-ClassPath:。,myjar.jar将嵌入的jar添加到bundle类路径中。

答案 1 :(得分:1)

避免手动使用Bundle-ClassPath。您可以使用maven-bundle-plugin来解决和嵌入您的第三方依赖项:

<plugins>

<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
    <instructions>
    <Bundle-SymbolicName>${project.artifactId};singleton:=true</Bundle-SymbolicName>
    <Bundle-Version>${project.version}</Bundle-Version>
    <Export-Package>lumina.extensions.drivers.luminadb</Export-Package>
    <Bundle-Activator>lumina.extensions.drivers.luminadb.internal.Activator</Bundle-Activator>
    <Embed-Dependency> YOUR ARTIFACT ID HERE </Embed-Dependency>
    </instructions>
</configuration>
</plugin>
(...)

</plugins>

有关详细信息,请访问http://web.ist.utl.pt/ist162500/?p=110