首页 文章

OSGI嵌套依赖项jar

提问于
浏览
2

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

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

2 回答

  • 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

  • 1

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

相关问题