我理解OSGi抱怨多个依赖链的概念 – 一个包可以多次使用,当导入包没有准确指定它需要的版本时,OSGi容器可能会遇到不知道提供什么的麻烦。 不幸的是,本周我遇到了这样一个问题,但两个捆绑都是第三方捆绑,所以我无法真正影响他们的import和出口。 以下是我收到的两条错误消息: org.osgi.framework.BundleException: Uses constraint violation. Unable to resolve bundle revision org.hibernate.core [28.0] because it is exposed to package ‘javax.xml.stream’ from bundle revisions com.springsource.javax.xml.stream [23.0] and org.apache.felix.framework [0] via two dependency chains. Chain 1: org.hibernate.core [28.0] import: (osgi.wiring.package=javax.xml.stream) | export: osgi.wiring.package=javax.xml.stream com.springsource.javax.xml.stream [23.0] Chain 2: org.hibernate.core [28.0] import: (osgi.wiring.package=javax.xml.transform.stax) | export: osgi.wiring.package=javax.xml.transform.stax; […]
我正在使用OSGi-(felix),SpringDM,hibernate,maven的项目。 当我安装bundle时,没关系,我运行bundle id时的输出是: LastModified 1384619994484 Headers [Manifest-Version=1.0, Bundle-Vendor=NguyenVinhLinh, Bnd-LastModified=1384619954778, Tool=Bnd-2.1.0.20130426-122213, Bundle-Name=DrugManager, Built-By=nguyenvinhlinh, Import-Package=org.hibernate,org.hibernate.classic,org.hibernate.criterion,org.springframework.beans.factory;version=”[2.5,3)”,org.springframework.core.io;version=”[2.5,3)”,org.springframework.transaction.annotation;version=”[2.5,3)”, Bundle-SymbolicName=DrugManagerDAO, Export-Package=drug,drugGroup,model;version=”1.0.0″, Bundle-Version=1.0.0, Build-Jdk=1.7.0_45, Created-By=Apache Maven Bundle Plugin, Bundle-ManifestVersion=2] BundleContext null Revisions [169.0] BundleId 169 SymbolicName DrugManagerDAO RegisteredServices null ServicesInUse null Version 1.0.0 Location file:/home/nguyenvinhlinh/Projects/felix-framework-4.2.1/bundle/DrugManager-1.0.jar State 2 Bundle 169|Installed | 1|DrugManagerDAO (1.0.0) 这就是我看到的,当我开始这个包时: org.osgi.framework.BundleException: Unresolved constraint in bundle DrugManagerDAO [169]: Unable to […]
我有一组使用Maven构建的OSGi包,我想知道是否有可用的Maven插件允许我执行以下操作: 指定要包含在分发中的捆绑包和/或指定单个捆绑包并解析依赖关系。 构建完整的框架分发。 我的意思是单个zip文件包含所需的所有包,以及felix的正确目录结构,以便用户只需解压缩文件并输入“java -jar bin / felix.jar”。 我做了一些谷歌搜索,除了appassembler我没有找到任何有希望的东西。 有没有人想出一个好的解决方案? 更新这里是我想要完成的一个例子。 example-parent\ bundle-one bundle-two bundle-three assembly-one assembly-two 在assembly-one将包括bundle-one和bundle-two和assembly-two情况下,包括bundle-two和bundle-three或其任何组合。 然后,当您构建项目时,您将获得两个zip文件,一个用于assembly-one一个用于assembly-two在自包含的felix安装中包含相应的包。 例如: assembly-one.zip\ bin\felix.jar bundle\bundle-one, bundle-two, plus bare min felix bundles conf\any configuration files I need 希望这能提供有关我正在努力完成的更多信息。 我想这与Eclipse做feature.xml的方式类似,但当然不使用Eclipse。
有没有人能够在SMX4中成功共享两个或更多捆绑包之间的配置? 我正在寻找的是: 在$SMX_HOME/etc/myconfiguration.cfg有一个文件 使用Spring dm通过OSGi配置管理员将此配置“可用”注入我的软件包,即 org.postgresql.Driver jdbc:postgresql:// localhost / db someuser somepassword vm:// default 然后,我可以将这样的东西注入我的bean: 。 。 。 。 。 。 对于一个捆绑包,所有这些只是极好的。 我正在寻找的是一种定义此方法的方法,然后能够重用相同的配置文件作为一组包的属性。 现在,我有多个bundle,每个bundle都有自己的配置实例(持久id),因此,每个需要数据库连接,Java JMS等的bundle必须在每个文件中重复配置。 目前,我正在使用Apache Servicemix 4,它使用Apache Felix作为OSGi容器。
我对如何使用Apache Felix和SSH感兴趣? 我想使用SSH从远程计算机访问Felix shell。 我知道有一个telnet支持,但它太不安全了。 有什么解决方案吗?
根据这篇文章 ,IDEA使用Osmorc来运行OSGi框架。 反过来,它使用Pax Runner来启动不同的框架实现。 IDEA 11中的工具链只能运行Apache Felix 3.0.2,但我必须运行4.0.2版本。 可能吗? IDEA还有其他OSGi框架发射器吗?
我有一个作为OSGi包集合运行的应用程序。 我使用嵌入Felix框架的非常小的包装器启动它。 这个包装器的必要性让我感到烦恼,因为它依赖于Felix(而应用程序本身也可以在Equinox中运行得很好),所以我想摆脱它,并使用默认的Felix发射器。 包装器唯一真正做的就是将命令行参数传递给已启动的OSGi框架,以便可以对它们做出反应。 请注意,它实际上并不解析参数,只是将String []推送到我的应用程序中。 是否有标准方式(或至少是Felix标准方式)从包中访问命令行参数,以便我可以取消自定义启动器?
我是OSGI的新手,我正在试图弄清楚如何解决下面的错误 org.osgi.framework.BundleException:bundle org.foo.serviceBundle中未解决的约束[253]:无法解析253.0:缺少需求[253.0]包; (&(包= org.slf4j)(版本> = 1.6.0)(!(版本> = 2.0.0))) 我使用maven原型生成一个包,并在我的Activator类中添加了一些简单的slf4j日志记录。 我也使用maven bundle插件如下: org.apache.felix maven-bundle-plugin 2.2.0 true org.shoppingsite.Activator 我尝试了其他组合,我得到一个或另一个无法解析的包。 我正在尝试将捆绑包部署到GlassFish appserver上。 任何帮助将不胜感激 谢谢
我无法从代码中找到有关启动和使用 Apache Felix的信息。 我想做一些我能够(或无法))与Apache Felix的Shell一起做的事情。 例如,如何启动模块? 请帮忙。