问题标签 [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 回答
82 浏览

osgi - 将 org.pbjar 库转换为 OSGi 包后出错

我正在尝试将 org.pbjar.jxlayer 库转换为 OSGi 包,我已经成功了,但是当我尝试将它安装在 Karaf 容器中时,容器声称此包缺少所需的要求:

无法解析 312.0:缺少要求 [312.0] osgi.wiring.package;(osgi.wiring.package=com.sun.java.swing)

我还将 javax.swing 放在 bundle import 指令中,但问题仍然存在我更改了 JDK 的版本(1.5、1.6、1.7)但没有运气

你能帮我解决这个问题吗?

0 投票
0 回答
477 浏览

osgi - OSGI 环境中的 Json-Schema-Validator

我试图在 osgi(Equinox)环境中使用 Json-schema-Validator,但没有成功。捆绑包已启动并正在运行。我收到 ClassDefNotFOundException。

命令 find-class 显示它可以找到该类。但是在运行时出现错误。任何帮助,将不胜感激。谢谢。

0 投票
1 回答
304 浏览

deployment - 如何将 jms jar 部署到 Karaf

我在使用 Oracle jmscommon.jar 时遇到了这个错误,但我可以很容易地将这个问题扩展到其他非 OSGI 包 jar。根据:

http://my.safaribooksonline.com/book/operating-systems-and-server-administration/apache/9781782172048/5dot-deploying-applications/ch05s03_html

我应该能够将任何 jar 放到 Karaf 部署目录中,以便 jar 中的类可用。但是,当我尝试部署引用 jmscommon 中的类的应用程序时 - 结果发现找不到这些类。

我是否需要在 Karaf 中安装一些东西才能在部署中删除任何非 OSGI 捆绑 jar?还是我需要为 Oracle jmscommon.jar 做一些特别的事情?

0 投票
0 回答
87 浏览

jaxb - MOXy on OSGi 错误(不支持属性“eclipselink-oxm-xml”)

我在fuse ESB(基于karaf)下使用MOXy。尝试创建 JAXBContext 的新实例时出现错误:不支持属性“eclipselink-oxm-xml”。

我已将包含以下内容的 jaxb.properties 文件: javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory 放在与域类相同的包中。并且成功加载了 xml-bindings 文件。

主要问题是,当我运行使用 eclipse 中的 xml-bindings.xml 属性和 JUnit 测试的函数时,一切正常,但是当我在 OSGi 环境中运行它并调用此函数时,我收到错误:属性“eclipselink -oxm-xml”不受支持。

所以也许有人可以给我线索,出了什么问题,为什么它无法在 OSGi 中创建新的 jaxbcontext?

编辑: System.getProperty("javax.xml.bind.context.factory") 返回 org.eclipse.persistance.jaxb.JAXBContextFactory,所以我猜 jaxb 属性文件已加载。

0 投票
1 回答
149 浏览

java - 在 OSGI 环境中定义类时出现 ClassFormatError

我目前正在处理的一个小项目遇到问题。在这个项目中,我试图从配置字符串动态创建类并将其加载到 JVM 中。

当我在“正常”环境(单元测试)中执行此操作时,一切正常。但是当我尝试在 OSGI 环境 (Apache Karaf) 中创建类时,我收到一个 ClassFormatError 消息“非法类名“Ljava/lang/String;”在类中......”。

经过简短的研究后,我发现当 java/lang 中的类没有被系统类加载器加载时,会出现这个问题,但是当涉及到 java 中的类加载,尤其是 OSGi 中的类加载时,我不是专家。

我认为我访问该defineClass方法的方式可能对这个问题感兴趣,所以这里是:

最后一条(希望是有用的)信息是我在 OSGi 包中运行我的项目时调用 defineClass 方法的 ClassLoader:它是 org.apache.felix.framework.BundleWiringImpl 的一个实例。

如果有人可以在这里帮助我,那就太好了!

问候,帕斯卡

编辑:我需要在运行时定义类,因为我想避免在我的项目中使用样板代码并使程序更加一致。

更准确地说,我的项目将是一个 RESTful WebService。由于我使用多种技术来存储数据和同步进程(mongoDB、MySQL、activeMQ,...),我想使用 Apache camel 来处理所有不同的技术。问题是我不知道将 Camel 与 REST 上的 Java 方法很好地集成在一起(方法和类到 HTTP 请求的整个映射是通过注释完成的)。所以对我来说唯一的可能性是编写方法,将请求的参数放在 Camel 的交换标头中并将它们触发到路由。为了避免这种情况,我想通过在运行时从路由定义中定义这些类来自动化这个过程。

0 投票
0 回答
435 浏览

spring - Apache Karaf 3.x 和 Spring 3.2.x Spring-dm 1.2.1 中的包依赖问题

我正在尝试在使用 spring dm 的 karaf 3.0.1 中部署一个骆驼包。部署 bundle 时,由于 spring 包依赖性,它没有得到解决。以下是更多详细信息,请帮助我解决此问题。我需要恢复到 spring 2.x 版本吗?

0 投票
1 回答
809 浏览

hibernate - SessionFactory 在 karaf 中加载错误的配置文件

我正在尝试创建 3 个捆绑包:

  • BundleA:使用非托管本机休眠访问数据库 1。
  • BundleB:也使用非托管本机休眠但访问数据库 2。
  • BundleC:导入 BundleA 和 BundleB。

我希望 bundleA 和 bundleB 将使用他们的配置文件获得会话工厂。但是,Hibernate 的日志显示BundleB 使用 BundleA 的配置文件获取会话工厂

有人可以给我任何建议吗?


BundleA 的 blueprint.xml:

BundleA 的 hibernate.cfg.xml:

BundleB的blueprint.xml:

BundleB的hibernate.cfg.xml:(BundleA的区别在于url和映射资源)

Dao 类如下所示:

日志如下所示:


编辑:为什么我得到这个结论

在 bundleA 的 hibernate.cfg.xml 中,我尝试从entity/b1.mapping.xml读取映射文件。在 bundleB 中,我尝试从entity/b2.mapping.xml读取映射文件。但在日志中,它看起来像是从entity/b1.mapping.xml 中的休眠读取映射文件,在两个 bundle中。

bundleldA的日志:

bundleB的日志:

根据这个文档,我通过使用由 hibernate-osgi 服务导出的 SessionFactory 服务在 Dao 类的 init 方法中获取会话工厂。在调用getService方法之前,我打印包名称以检查是否得到错误的包,但包名称与我的预期一致。

我的环境是:

  • 阿帕奇卡拉夫 3.0.1
  • 休眠 4.2.12.Final

ps HibernateUtil 类是 Dao 类,我在问这个问题时更改了它的名称。对不起,如果它造成任何混乱。:(

0 投票
2 回答
3364 浏览

java - karaf 3 与 OSGi ,如何安装包

如何使用创建捆绑包Apache karaf 3?有人知道吗?

我尝试过Eclipse
我导出一个带有清单文件的 jar ......以及为什么我有这个错误:

这是我的features.xml

0 投票
2 回答
3240 浏览

cxf - Apache Camel, DirectConsumerNotAvailableException while runing cxf on fabric8(karaf), though local runs fine

I have two routs into two contexts first one gets the http (jetty) request and sends it to direct:/{{sms.endpoint.name}} and the second one gets the pojo from cxf cxf:bean:smsCxfEndpoint and works with it.. The cxf endpoint looks like:

The local runs perfect, but while it runs on container some evil appears:

Please help me ^)

The deployment things presents on github in correspond pom: sms-service-impl/pom.xml, please see links above.

Thanks alot in advice!

0 投票
1 回答
942 浏览

maven - 可以找到maven依赖

我找不到 xstream 的正确 maven 依赖项...我搜索了太多链接,但结果相同...有没有其他方法可以克服这个问题...我可以制作 maven 捆绑包形式的 JAR 吗?如果是,那怎么办?