问题标签 [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.
osgi - 在 Karaf 2.2.5 中安装 spring-dm 1.2.1 失败
我是卡拉夫的新手。我尝试在 karaf 2.2.5 中安装 spring-dm 1.2.1。它失败并显示以下错误消息:
执行命令时出错:zip mvn 的第一个条目中不存在清单:org.springframework.osgi/spring-osgi-annotation/1.2.1
有谁知道是什么问题?
提前致谢。
logging - 如何使 logback(一个日志库)与 ServiceMix 一起工作(Karaf + ops4j 日志)
我正在尝试使 logback 与 ServiceMix 4.3.0 (karaf 2.1.3) 一起使用,但没有成功。有没有人已经成功地让它工作了?(使用任何版本的 serviceMix + slf4j + logback)
这是我的情况。我能够使(Logback + slf4j + 我的应用程序)在 tomcat 中一起工作。现在我想让它们在 ServiceMix 中一起工作。ServiceMix 使用 OPS4J (org.ops4j.pax.logging) 来提供 slf4j (1.5.11)。所以,我必须使用 ServiceMix 提供的 slf4j(我不必安装新的 slf4j 包),接下来我安装了 Logback Core Module (0.9.20)、Logback Classic Module (0.9.20)、jcl-over-slf4j (1.5 .11) 为了使 slf4j 和 logback 一起工作。安装很好,没有错误。在我的应用程序中,我有一个代码片段可以从外部文件夹读取 logback.xml。
但是每当运行此代码时,我总是会收到此错误:
java.lang.ClassCastException: org.ops4j.pax.logging.slf4j.Slf4jLoggerFactory 不能转换为 ch.qos.logback.classic.LoggerContext。
因此,我认为 ServiceMix 提供的 slf4j 不适用于 logback 库。
osgi - 自动下载所有 Jersey OSGi Bundle 依赖项
我正在尝试通过 OSGi(特别是 Karaf)使用 Jersey。为此,我从 Maven 下载了这个bundle jar 并将其放入我的 Karaf 部署目录。但是,当我尝试启动捆绑包时,它无法解决它的任何依赖项。它似乎也在寻找每个依赖项的 0.0.0 版本,这似乎是错误的。
将此捆绑包放入我的项目的最佳方法是什么?您是否必须手动下载所有依赖项,或者我可以使用一些现有的具有此捆绑包的 OBR?我在哪里可以找到这个?
osgi - ServiceMix-karaf 中的 jar 包及其类路径
我正在开发 2 个 jar 文件(jar1 和 jar2 - 2 个 jar 的 pom.xml 中的打包类型是 jar)并将它们安装到 serviceMix 中。Jar1 将使用来自 jar2 的一些包装。
在 manifest.mf 文件中,我对 jar1 和 jar2 使用了导入和导出。安装到 serviceMix 4.3.0 后。一切进展顺利。从 jar 1 开始,我可以使用 jar2 中的包(我通过调试代码知道这一点)。但问题就在这里:
Jar1 调用 Jar2 的一个方法,该方法使用下面的语句
context = new ClassPathXmlApplicationContext("FactoryContext.xml");
每当它进入这个语句时,它总是抛出异常,说 FactoryContext.xml 不存在。(我来宾此文件不在类路径中)
你知道如何让它工作吗?
maven - 如何为 Apache Karaf 设置代理
简单的一个,但在谷歌上找不到任何可靠的东西。我正在运行 Karaf,我在代理后面。我需要通过执行以下命令向容器添加一些功能:
当我这样做时,我得到以下异常:
这似乎是代理身份验证问题。请注意我已经向 Maven 添加了代理信息,我可以在 Maven 中下载依赖项。我怀疑我需要在 Karaf 安装的 etc 目录中的某个文件中添加一些信息,例如 http.proxyName 或 http.Proxyxxx。
有什么想法吗?
更新:我在 org.ops4j.pax.url.mvn.cfg 中找到了一个设置
我已取消对此的注释,但我仍然无法进行身份验证。所以我怀疑我需要在某个地方设置我的 Maven 主文件夹。
更新 2: 好的很简单的事情:
在您的 Apache karaf 文件夹中有一个 etc 文件夹。编辑 org.ops4j.pax.url.mvn.cfg 文件。您需要执行两个步骤才能使其正常工作。
- 将 karaf 指向您的 maven 安装:在 cfg 文件中找到以下字符串 org.ops4j.pax.url.mvn.settings 取消注释并添加您的 maven 主路径,即 org.ops4j.pax.url.mvn.settings= /maven/ conf/settings.xml
- 告诉 karaf 使用 maven 代理设置:在 cfg 文件中找到以下字符串 org.ops4j.pax.url.mvn.proxySupport 取消注释并将其设置为 true 如果需要,即 org.ops4j.pax.url.mvn.proxySupport =真
我重新启动了 Karaf,现在可以下载/安装功能。我希望有一天这对某人有所帮助。
architecture - Apache Karaf 和 Apache Commons 捆绑包
是的,对于 Apache Karaf 的人来说,一些真正的菜鸟(这是我第一次将捆绑部署到 Karaf)问题。我正在部署一个使用大量 org.apache.commons.* 包的包。例如,当我部署我的包然后尝试启动它时,Karaf 抛出了一个关于找不到 org.apache.commons.pools 的错误。我做了一些谷歌搜索并运行了以下内容:
这安装了丢失的捆绑包,我点击了下一个。虽然我知道所需的包没有安装到 OSGI 容器中,但我有一些问题需要澄清。
- 据我了解,我正在安装的捆绑包正在使用某种 servicemix 捆绑包。所以我想知道这是否需要,我不能只添加一个 org.apache.commons.pool 包而不是完整的 servicemix 包吗?
- 当我缺少捆绑包时,如何找出要使用的 maven url。例如说我需要一个 foobar 捆绑包,如果我不知道 url,我将如何添加捆绑包?由于未找到 package=org.apache.log,现在我无法启动我的包。那么我怎么知道如何添加呢?
- 捆绑包和功能之间的区别?
希望问题足够清楚。我正在与 karaf 取得进展,只需要澄清这些观点。
activemq - 在 OSGI (KARAF) 上使用 ActiveMQ 上的 STOMP 问题
我在 Ubuntu Linux 10.04 上安装了 Karaf (2.2.5)。在 Karaf 之上安装了 ActiveMQ 作为功能。使用 stomp 连接器创建了一个自定义代理。现在,当我尝试从 Java 客户端连接到这个 stomp 代理时,我得到“java.net.SocketTimeoutException:读取超时”
如果我将 ActiveMQ 作为独立应用程序启动,则相同的客户端可以正常工作。
提前致谢
这是我的配置:
apache-karaf - Pax Exam Karaf:mavenBundle 配置选项有效,与文件捆绑:URL 无效
这适用于 Pax Exam 本机容器(Pax Exam 2.3.1),但不适用于 Pax Exam Karaf 容器(0.5.2):
检查捆绑包是否已安装的测试:
如果我取消注释karafDistributionConfiguration
并替换bundle(url)
为mavenBundle(groupId, artifactId)
,则测试会在 Pax Exam Karaf 下再次通过。有可能解决吗?我需要使用bundle
在我的工作区中针对捆绑包的开发版本运行测试。
osgi - Karaf 中的参考协议支持
当我尝试reference:file:/path/to.jar
在 Karaf 集成测试中用作捆绑 URL 时,出现“未知协议:引用”错误。Karaf 邮件列表中提到了一些reference:
URL,但这对我来说并不清楚:
他们应该默认工作吗?
如果没有,我该如何启用它们?大概我需要一个合适的包来提供 URLHandlerService,但是哪一个呢?
osgi - 从 Karaf 控制台查找不满足的捆绑约束
如何找到不是从 Apache Karaf 控制台开始的捆绑包的不满意约束?即它相当于Equinox的diag
命令是什么?