Glassfish OSGI具有依赖性,如何实现?
我有一个常规的maven jar项目,它具有反射库等依赖项,我希望 把它转换成osgi,我已经做过了Glassfish OSGI具有依赖性,如何实现?,glassfish,dependencies,osgi,Glassfish,Dependencies,Osgi,我有一个常规的maven jar项目,它具有反射库等依赖项,我希望 把它转换成osgi,我已经做过了 在不同的(maven)jar中创建了一个公共接口层 项目,并将其作为依赖项添加到捆绑包中 将osgi模块的类型更改为“bundle” 创建了BundleActivator的实现 在pom中添加了此插件: org.apache.felix maven捆绑插件 2.3.7 真的 my.package.MyServiceActivator my.package.exp* !组织反思,??? slf4
org.apache.felix
maven捆绑插件
2.3.7
真的
my.package.MyServiceActivator
my.package.exp*
!组织反思,???
slf4j api;范围=编译,???
这里是它丢失的地方,我需要找出“导入包”和“嵌入依赖项”
而且,更重要的是了解如何将其作为拉链或,
也许可以使用ORB(或Gogo),这样它就可以使用所有依赖项JAR进行部署
有什么想法吗
G
顺便说一句:org.reflections包还没有准备好OSGi您似乎对OSGi和Maven Bundle插件的工作方式感到困惑。 也许阅读Felix指南会帮助您: 基本上,您应该有如下内容:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Activator>my.package.MyServiceActivator</Bundle-Activator>
<Export-Package>
my.package.exp.*
</Export-Package>
<Import-Package>
!org.reflections*,*
</Import-Package>
<Embed-Dependency>
org.reflections
</Embed-Dependency>
</instructions>
</configuration>
</plugin>
org.apache.felix
或者只是Karaf(只需在deploy文件夹中抛出一个JAR,您将立即将其包装为一个OSGi包),例如
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Activator>my.package.MyServiceActivator</Bundle-Activator>
<Export-Package>
my.package.exp.*
</Export-Package>
<Import-Package>
!org.reflections*,*
</Import-Package>
<Embed-Dependency>
org.reflections
</Embed-Dependency>
</instructions>
</configuration>
</plugin>