问题标签 [apache-karaf]
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.
java - apache karaf中的activemq,使用xbean加载配置
我想在 Apache Karaf 上运行的 OSGi 包中使用 xbean 配置创建嵌入式 ActiveMQ 代理。这段代码:
失败,但有以下异常:
所有需要的包(activemq、activemq-spring、xbean-spring)都已加载并运行,我的包将它们全部放在Import-Package
.
从独立 ActiveMQ 代理加载的相同配置文件可以正常工作。
我相信这是因为 xbean 无法从它不导入的包中访问类。有没有解决的办法?
spring - Karaf 上的 Spring 应用程序示例
Karaf 2.2.x 中是否有公开可用的 Spring 应用程序示例,特别是使用@Repository
和其他 Spring 组件注释的示例?
dependencies - 捆绑中未解决的约束,在 Maven 中排除了依赖项
我在我的 osgi 应用程序中使用 querydsl 库。工件 querydsl-jpa 具有 hibernate-jpa-2.0-api 作为依赖项。
我在 pom.xml 中添加了这样的排除项,因为我不使用休眠。仍然当我尝试启动我的服务(通过 karaf features.xml 文件)时,我得到了这个:
执行命令时出错:无法在功能 querydsl-jpa-2.5.0 中启动捆绑 mvn:com.mysema.querydsl/querydsl-jpa/2.5.0:捆绑 com.mysema.querydsl.jpa [223] 中未解决的约束:无法解析 223.0:缺少要求 [223.0] 包;(&(package=org.hibernate)(版本>=3.6.8.Final))
mvn project dependency:tree 不返回任何休眠依赖项。这是否意味着即使明确排除了依赖项,osgi 依赖项也仅由 querydsl 包的清单文件确定?
以及 features.xml 的摘录
jetty - 如何让 Karaf 中的 Jetty 从文件系统中提供静态内容?
我需要从 Karaf 的捆绑包之外提供静态内容。由于它已经内置了 Pax Web 和 Jetty,我认为这不是问题,但到目前为止还没有成功:(
我已安装jetty
、http
和功能。在http://team.ops4j.org/wiki/display/paxweb/Advanced+Jetty+Configuration之后,我将其添加到:http-whiteboard
war
etc/jetty.xml
完整的文件是:
并使用以下内容创建了文件org.ops4j.pax.web.cfg
:
在我看到的日志中
但文件不可见。例如,我有一个文件,/home/aromanov/workspaces/odp-server/ru.focusmedia.odp.server.poim.resources-rodniki/.style
但是会出现404 错误。http://192.168.1.9:8080/app/.style
http://192.168.1.9:8282/app/.style
maven - Karaf 是否支持从 Maven 中心下载传递依赖项?
我正在尝试使用 Karaf,我想知道是否可以将其配置为从 Apache Maven 中央存储库中提取传递依赖项。无需使用“嵌入式捆绑包”
我已经知道您可以提取显式依赖项,问题的关键部分是“传递”的。
我也知道您可以使用 OBR 从已部署站点中的 repository.xml 文件中读取,但我找不到用于 Maven 中心的文件。该问题的一个可能答案是添加 URL,但我无法在任何地方找到它记录的 repository.xml URL 是什么。
目前,我的工作是弄清楚依赖项是什么,并将它们显式添加到
嵌入式捆绑包不适用于 Karaf OSGi 蓝图实现(它只是等待不存在的东西)。我也觉得不得不这样做很难看。对于这个问题,我能想到的另一个可能的答案是,是否有说明创建一个可以部署到包含所有必要依赖项的任何OSGi 容器(不仅仅是使用 KAR 文件的 Karaf)的包。
unit-testing - 你如何让 Pax Exam 使用 OBR 来处理传递依赖?
在 Karaf 中,我可以安装 OBR 功能并使用 obr:addUrl 添加一个 repository.xml 和 obr:deploy 来部署一个包以及所有传递依赖项。我已经在https://stackoverflow.com/a/10989017/242042中记录了它
但是,现在我想使用 PaxExam 创建一个 JUnit 测试,但我似乎无法模仿我在 PaxExam 上使用 Karaf 所做的事情。
是否有任何代码片段可以显示如何指向 OBR 存储库并在自动完成所有传递计算的情况下进行部署?
apache-karaf - 如何在 karaf / jline 中使用条件运算符 shell:if
我正在尝试使用使用 jline 库的 apache karaf 命令行有条件地执行命令。
我在 shell:if 命令上找不到任何文档。
例如,在 linux shell 中这是有效的:
当我将 karaf 的语法更改为:
我得到错误:
我尝试了一堆不同的语法,但我无法弄清楚。
eclipse - 如何在 Eclipse 中集成 Karaf
好的,我正在尝试让 EIK 在 Eclipse 中工作。我在 YouTube 上播放了这个视频(它假设我还没有完成一个步骤),用谷歌搜索了一段时间,然后试图破解它。没有骰子。以下是相关信息:
我已经下载并安装了 Karaf。控制台工作正常。
我已经下载了EIK。
我有 Eclipse 靛蓝
我将不胜感激这两个问题的帮助:
在此视频EIK 教程中,他们向用户展示了从 OSGi 框架菜单中选择 Apache Karaf OSGi 框架。我不知道如何让 Karafe 进去,这是第一个拦截器。
我已经下载了 EIK,快速浏览一下似乎表明我应该复制到主 Eclipse 安装文件夹中。我复制了我的eclipse文件夹并试了一下。Karaf Perspective 不存在,我找不到任何迹象表明它已正确安装。这是我的第二个障碍,在 Eclipse 中获取 EIK。在这发生之前,我可能需要完成第一步。
任何帮助表示赞赏!
java - 重定向到 Java 程序?
在一个项目中,我正在尝试为 Apache Karaf 设置一个自动构建系统(我需要在 Karaf 中运行几个命令来设置全新安装的工作环境)。Karaf 包含一个批处理/脚本文件,它设置几个参数,然后调用实际的 Java 程序。本质上,我希望能够执行以下操作:
但是当我尝试这个时,它什么也没做。我的目标是简单地复制 karaf.bat 文件,稍微修改它(如下所示)以制作一个我可以运行的“karaf-install.bat”。我修改了 karaf.bat 的部分如下,我所做的只是< "C:\commandFile.txt
在最后添加(以下都是一行,为便于阅读而中断):
然而,卡拉夫什么也没显示。它就像我正常执行它一样运行;我的命令没有执行。有没有办法从控制台重定向到 Java 程序?我做错了吗?
无论如何,这最终将在 Windows 和 OS X 上完成,但我目前专注于 Windows。
更新:原来这似乎对我在 OS X 上工作(卡拉夫挣扎(通过说“找不到命令:”),但我认为这是因为它在初始化所有内容之前获取命令),但 Windows 仍然没有甚至得到命令。我会多打几下。
osgi - 在 Karaf 下使用 Felix fileinstall 键入服务属性
在我的 Karaf 容器中,我通常使用 etc/*.cfg 文件来配置我的服务。但是,我继承了一个使用元类型的服务,并期望其中一个属性是 Long 而不是 String(它在字符串上崩溃)。我应该采取什么技术来提供这些属性?
我发现了一种潜在的解决方案,但我陷入了困境。Felix 为 .config 文件提供了另一种语法,其语法如下:
其中“type”是该类型的单字符代码(例如“L”表示 Long)。我将过滤器更改为:
到目前为止,一切都很好。通过调试器,我可以看到 Felix 正在读取文件,但结果字典返回为空且没有错误。(我不能轻易调试,因为 org.apache.felix.fileinstall-3.2.2-sources.jar 缺少 ConfigurationHandler.java,它被另一个 jar 遮住了......)
我是否走在正确的道路上,我应该尝试修复我的 .config 语法?或者这是我应该避免并使用其他技术的遗留语法?
更新:我通过修复 .config 文件中的语法错误部分解决了我的“空字典”问题(它比我预期的更挑剔)。我的另一个问题仍然存在:这是一个好方法,还是有更好的方法?