问题标签 [karaf-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - 如何使用 maven 项目轻松部署到 Karaf Osgi 容器
我正在开发一个 OSGI 包,用于使用 PDFBox 库解析 PDF 文件。我使用 maven 构建项目并使用 Karaf 作为 OSGI 容器。PDFBox 库与 OSGI 兼容,所以我认为这很容易。但我就是无法正确部署模型。
在传统的 Web 应用程序中,我会构建一个包含所有依赖项的单个 WAR 文件,并将其放入 Servlet 容器中,然后它就会被部署。另一方面,我想出如何安装 osgi 包的唯一方法是手动完成。我必须创建一个安装说明文件,列出所有必须手动下载并复制到 Karaf 部署文件夹的依赖项,并确保以正确的顺序进行。我觉得我回到了石器时代。
一定有更简单的方法,对吧?我仍然使用 maven 来声明依赖项,但我只需要使用提供的范围。如果可以自动安装这些依赖项,那就太好了。
我正在使用 maven-bundle-plugin 从我的应用程序生成一个包。它确实生成了一个 OBR 存储库(repository.xml),我尝试使用 obr karaf 插件安装我的包,但它仍然对依赖项没有帮助。
maven - 在 OSGI 包中使用 AWS 加密库时出错
我正在尝试在我的 karaf OSGI 服务中使用 AWS 加密“DirectKmsMaterialProvider”,但它抛出了 classnotfound 异常:
引起:java.lang.ClassNotFoundException: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException 未找到 wrap_file__Users_rioortizr_.m2_repository_com_amazonaws_aws-dynamodb-encryption-java_1.11.0_aws-dynamodb-encryption-java-1.11.0.jar [2404]在 org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574) 在 org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) 在 org.apache.felix.framework.BundleWiringImpl$ BundleClassLoader.loadClass(BundleWiringImpl.java:2018) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_51] ... 45 更多
我已经在 pom.xml 和 features.xml 中添加了我的依赖项
在我的 pom...
在 features.xml 中...
我在这里错过了什么吗?
谢谢
问候,里约
python - 将 Python 包/项目集成到 apache KARAF
我是 Apache Karaf 的新手。在互联网上呆了 2 天后,对 KARAF 的用途有所了解。我的要求是将一些 Python 项目集成到 Apache Karaf 容器中。
Q1.) 是否可以在 Karaf 中集成 Python 项目/应用程序/包?
Q2.) 对版本有任何依赖吗?哪个版本的 Karaf 应该与哪个版本的 Python 一起使用?操作系统依赖项?
Q3.) 任何可以详细解释的教程或示例或视频教程的链接
提前致谢。
maven - 在 Karaf 4.1.0 中使用声明式服务
我正在尝试使用 NetBeans 8.2、Maven 3.3.9 和声明式服务开发一个 Karaf 4.1.0 应用程序。非常简单的服务可以工作,但是一旦我尝试做一些模糊有用的事情,我就会得到可怕的osgi.component
缺失需求错误。
以下说明了我遇到的问题:
如果我注释掉@Reference
该组件,则该组件将毫无问题地加载到生成的 Karaf 程序集中。但是由于组件在这里(带有@Reference
),我收到以下错误:
Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.1.0:assembly (default-assembly) on project EnOceanBridgeAdmin: Unable to build assembly: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=EnOceanBridgeSASSFeature; type=karaf.feature; version=0.99.99; filter:="(&(osgi.identity=EnOceanBridgeSASSFeature)(type=karaf.feature)(version>=0.99.99))" [caused by: Unable to resolve EnOceanBridgeSASSFeature/0.99.99: missing requirement [EnOceanBridgeSASSFeature/0.99.99] osgi.identity; osgi.identity=EnOceanBridgeSASS.Impl; type=osgi.bundle; version="[0.99.99,0.99.99]"; resolution:=mandatory [caused by: Unable to resolve EnOceanBridgeSASS.Impl/0.99.99: missing requirement [EnOceanBridgeSASS.Impl/0.99.99] osgi.extender; filter:="(&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0)))"]] -> [Help 1]
这个问题建议安装scr
:
所以我尝试添加<feature>scr</feature
到karat-maven-plugin
's <bootFeatures>
,但这没有区别。
以下是该组件的有效 POM 的摘录:
我用来让 Karaf 组件知道它的功能是:
Karaf 程序集的有效 POM 包含以下内容:
我整个周末都在谷歌上搜索这个问题:在我看来,互联网上几乎没有任何关于在 Karaf 中使用声明式服务的文档。
谁能给我一些关于如何解决我的问题的提示?
史蒂夫
apache-karaf - 如何将捆绑包添加到 karaf 自定义分发?
我创建了 karaf 自定义分布
现在我想创建示例包并添加到这个分发中,或者例如添加这个:<bundle>wrap:mvn:com.google.code.gson/gson/2.8.0</bundle>
ti rhis Distribution。我试过这个:
但它不起作用
我创建 feature.xml 并投入资源
apache-karaf - Karaf 4:缺少依赖项:NamespaceHandler - jpa/v1.1.0
在 karaf 3.0.X 到 4.1.1 中尝试来自 karafCookbook 的示例“Chap7-Recipe3-JPA-Only”(参见https://github.com/jgoodyear/ApacheKarafCookbook )时,我收到以下错误:
我没有找到需要这种依赖关系的地方以及如何解决它。
这是我从新安装的 karaf 4.0.9 键入的命令:
最后,我在 pom.xml 中调整了 libs 版本,因此它可以在 4.0.9 中加载:
blueprint.xml 不变,如下:
任何想法 ?谢谢。
maven - karaf-maven-plugin 可以使用来自 reactor 的依赖项吗?
我们用于在具有多个模块的项目中karaf-maven-plugin
进行验证features.xml
。典型的特征定义如下所示:
问题是检查发生在本地存储库中的包,而不是正在构建的包。事后看来,没有办法使用新的捆绑包,因为我们遵循了这个示例karaf:verify
,并将目标附加到了process-resources
生命周期阶段。
karaf:verify
将目标附加到install
生命周期阶段是可行的,但是有没有办法在反应器中karaf-maven-plugin
查找mvn:
引用,以便它可以运行mvn verify
而不是mvn install
?
将其限制在本地存储库也很有用,因为它可以从远程存储库下载依赖项(忽略--offline
Maven 选项)并“工作”直到版本更改。
apache-karaf - 在 Karaf / ODL / Opendaylight 上创建空文件夹
安装功能时需要创建一个空文件夹。有什么建议吗?到目前为止,我尝试了类似的东西(没有成功):
java - 执行命令时出错:无法解析 root:缺少要求 [root] osgi.identity
当我尝试将 apache cellar (4.0.2) 安装到 apache karaf 时,我收到以下错误消息:
执行命令时出错:无法解析 root:缺少要求 [root] osgi.identity;osgi.identity=地窖榛树 t; 类型=karaf.feature;版本="[4.0.3,4.0.3]"; filter:="(&(osgi.identity=cellar-hazelcast)(type=karaf.feature)(version> =4.0.3)(version<=4.0.3))"
我尝试使用以下命令安装地窖:
特点:安装地窖
这是什么问题?
谢谢!
apache-karaf - karaf 热部署
如何设置 karaf 以便我不需要构建我的项目并一次又一次地重新启动 karaf 以更新代码?
我无法在我目前的项目中实现这一点。我尝试将 features.xml 放在 /deploy 文件夹中但没有用,每次构建后都会刷新它。