问题标签 [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.

0 投票
1 回答
285 浏览

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

有谁知道是什么问题?

提前致谢。

0 投票
2 回答
3555 浏览

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 库。

0 投票
2 回答
6877 浏览

osgi - 自动下载所有 Jersey OSGi Bundle 依赖项

我正在尝试通过 OSGi(特别是 Karaf)使用 Jersey。为此,我从 Maven 下载了这个bundle jar 并将其放入我的 Karaf 部署目录。但是,当我尝试启动捆绑包时,它无法解决它的任何依赖项。它似乎也在寻找每个依赖项的 0.0.0 版本,这似乎是错误的。

将此捆绑包放入我的项目的最佳方法是什么?您是否必须手动下载所有依赖项,或者我可以使用一些现有的具有此捆绑包的 OBR?我在哪里可以找到这个?

0 投票
1 回答
2042 浏览

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 不存在。(我来宾此文件不在类路径中)

你知道如何让它工作吗?

0 投票
2 回答
13735 浏览

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,现在可以下载/安装功能。我希望有一天这对某人有所帮助。

0 投票
1 回答
2994 浏览

architecture - Apache Karaf 和 A​​pache 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 取得进展,只需要澄清这些观点。

0 投票
1 回答
675 浏览

activemq - 在 OSGI (KARAF) 上使用 ActiveMQ 上的 STOMP 问题

我在 Ubuntu Linux 10.04 上安装了 Karaf (2.2.5)。在 Karaf 之上安装了 ActiveMQ 作为功能。使用 stomp 连接器创建了一个自定义代理。现在,当我尝试从 Java 客户端连接到这个 stomp 代理时,我得到“java.net.SocketTimeoutException:读取超时”

如果我将 ActiveMQ 作为独立应用程序启动,则相同的客户端可以正常工作。

提前致谢

这是我的配置:

0 投票
1 回答
566 浏览

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在我的工作区中针对捆绑包的开发版本运行测试。

0 投票
1 回答
971 浏览

osgi - Karaf 中的参考协议支持

当我尝试reference:file:/path/to.jar在 Karaf 集成测试中用作捆绑 URL 时,出现“未知协议:引用”错误。Karaf 邮件列表中提到了一些reference:URL,但这对我来说并不清楚:

  1. 他们应该默认工作吗?

  2. 如果没有,我该如何启用它们?大概我需要一个合适的包来提供 URLHandlerService,但是哪一个呢?

0 投票
1 回答
1082 浏览

osgi - 从 Karaf 控制台查找不满足的捆绑约束

如何找到不是从 Apache Karaf 控制台开始的捆绑包的不满意约束?即它相当于Equinox的diag命令是什么?