我正在开发一个OSGI包,用于使用PDFBox库解析PDF文件.我使用maven构建项目,使用Karaf作为OSGI容器.PDFBox库与OSGI兼容,所以我认为这很容易.但我无法正确获得部署模型.
在传统的Web应用程序中,我将构建一个包含所有依赖项的WAR文件,并将其放在Servlet容器中,然后部署它.另一方面,我想出如何安装osgi包的唯一方法是手工完成.我必须创建一个安装指令文件,列出必须手动下载并复制到Karaf部署文件夹的所有依赖项,并确保按正确的顺序执行.我觉得自己又回到了石器时代.
必须有一个更简单的方法,对吧?我仍然使用maven来声明依赖项,但我只需要使用提供的范围.如果可以自动安装这些依赖项,那将会很棒.
我正在使用maven-bundle-plugin从我的应用程序生成一个包.它确实生成了一个OBR存储库(repository.xml),我尝试使用obr karaf插件安装我的软件包,但它仍然无法帮助依赖.
我正在创建一个将在 Karaf 上运行的 Spring Boot 应用程序。我试图在 Karaf 中公开项目配置属性,以便能够使用 config:property-set 更改属性,而无需重新部署应用程序。
因此,我已成功配置我的 karaf 功能以将属性公开给 Karaf,但我正在尝试创建一个 OSGi 组件,以便能够在使用 config:property-set 更改属性时获取更新。
我在尝试安装 .kar 文件时遇到的错误如下:
[[A2019-05-19T23:09:32,926 | INFO | pipe-kar:install file:/Users/nikos/development/interlink/thirdParty/osgi-karaf-spring-boot-demo/osgi-spring-boot-demo-features/target/osgi-spring-boot-demo-features-0.0.1-SNAPSHOT.kar | KarServiceImpl | 35 - org.apache.karaf.kar.core - 4.1.3 | Added feature repository 'mvn:com.nemesis/osgi-spring-boot-demo-features/0.0.1-SNAPSHOT/xml/features'
2019-05-19T23:09:32,927 | INFO | pipe-kar:install file:/Users/nikos/development/interlink/thirdParty/osgi-karaf-spring-boot-demo/osgi-spring-boot-demo-features/target/osgi-spring-boot-demo-features-0.0.1-SNAPSHOT.kar | FeaturesServiceImpl | 9 - org.apache.karaf.features.core - 4.1.3 | Adding features: osgi-spring-boot-demo-feature/[0.0.1.SNAPSHOT,0.0.1.SNAPSHOT]
2019-05-19T23:09:32,995 | WARN | pipe-kar:install file:/Users/nikos/development/interlink/thirdParty/osgi-karaf-spring-boot-demo/osgi-spring-boot-demo-features/target/osgi-spring-boot-demo-features-0.0.1-SNAPSHOT.kar | KarServiceImpl | 35 - org.apache.karaf.kar.core - 4.1.3 | Unable to install Kar feature osgi-spring-boot-demo-feature/0.0.1.SNAPSHOT
org.osgi.service.resolver.ResolutionException: …Run Code Online (Sandbox Code Playgroud)