最近写了一个equinox的OSGi工程,里面有十几个bundle需要启动时自动运行Activator类,在eclipse的“run/run configuration”中设置了这些插件为他们定义了startLevel参数。同时,.product配置中“configuration”中“Specify plug-ins and their associated start levels.”auto-start都设置成了true。但是发现,只有6个bundle是可以自动启动的。
怎么也想不明白,于是跟踪看了equinox源代码后发现,原来System.properties中必须有一个参数叫做osgi.startLevel。这个参数控制着自动启动的最大bundle个数,否则就默认使用DEFAULT_INITIAL_STARTLEVEL=6变量的值。这也就解释了我的bundle只能启动6个的原因。
想到config.ini的参数会被加载到System.properties里面,于是从runconfigurations的configuration选项卡里面记录的config area文件夹里面找到config.ini,并且增加了参数osgi.startLevel=19。但是结果却是,每次启动程序,这个config.ini都会被eclipse重写,osgi.startLevel就被消灭了。
没办法,最后解决办法是在“Arguments”选项卡中设置了VM argument增加了"-Dosgi.startLevel=19",才搞定。
分享到:
相关推荐
5. **运行和调试**:利用Eclipse的调试器,可以方便地对Bundle进行单步调试,查看运行时状态。 **示例应用**:压缩包中的"osgi_example"可能包含了一个简单的OSGi Bundle示例,例如,创建一个HelloWorld服务,其他...
让OSGi支持JSP和JSF时必须用到的一个Bundle,有用到的可以下载,有耐心的童鞋也可到dev.eclipse.org的CVS开发空间去找找咯。
通过这个例子,学习者可以了解OSGi Bundle的结构,如何在EQUINOX上部署和管理它们,以及如何使用Eclipse作为开发工具来创建和调试OSGi应用。这涉及到理解Bundle的生命周期、MANIFEST.MF文件的编写、Eclipse插件的...
org.eclipse.equinox.http.helper 有些工程中没有该包 也可以自己从cvs中下载 具体请参照http://blog.csdn.net/hongweigg/article/details/5416067
博客链接提供的文章可能更详细地介绍了这些步骤,并可能包括了如何处理特定问题、最佳实践,以及如何调试和测试OSGi bundle的方法。由于未提供具体的博客内容,以上信息是基于常规的OSGi和Maven打包流程给出的通用...
8. **类加载策略**:Equinox采用了一种灵活的类加载策略,允许每个Bundle拥有独立的类加载器,从而避免了类路径污染的问题。这种策略确保了模块之间的隔离性,即使它们共享相同的类名。 总之,Equinox和OSGi提供了...
标题中的"org.eclipse.equinox.p2.examples.rcp.sdkui.rar"是一个压缩文件,它包含了Eclipse Equinox P2的一个示例,专门针对基于RCP(Rich Client Platform)的应用程序的软件开发工具包(SDK)用户界面。这个...
在非Eclipse环境中启动OSGI应用的Demo是一个实用的技术实践,尤其对于开发者来说,了解如何在没有集成开发环境(IDE)支持的情况下运行OSGI服务至关重要。这个Demo主要展示了如何在只有Java Development Kit (JDK)的...
从Eclipse环境中脱离,将Equinox OSGi应用程序部署为独立的Java应用,需要创建一个包含所有依赖bundle和Equinox运行时的启动脚本。启动脚本通常会调用Equinox提供的启动器,如`org.eclipse.osgi.launch....
Equinox是Eclipse基金会提供的一个OSGi实现,它是Eclipse IDE的基础,同时也被广泛用于构建可扩展的、灵活的和模块化的Java应用程序。 本教程将深入讲解如何使用Equinox开发OSGi应用程序,并提供相关的源码供学习和...
osgi发布http服务的各种bundle,各种jar包,全全全~非常好用...org.eclipse.equinox.ds_1.0.0.v20060601a.jar org.eclipse.equinox.servlet.api_1.0.0.v20060601.jar 还一大坨,我就不列了,只有你想不到,没有******
Equinox是Eclipse项目的一个组件,它提供了OSGi规范的实现,使我们能够构建模块化、可扩展且灵活的Java应用程序。OSGi(Open Service Gateway Initiative)是一种Java标准,它允许我们创建由小型、独立组件组成的...
Equinox是Eclipse开源项目的核心组成部分,它是一个强大的OSGi(Open Service Gateway Initiative)框架实现。OSGi是一种模块化系统,允许Java应用程序以模块化方式构建,这些模块称为"bundle",每个bundle都有自己...
Equinox是OSGi联盟实现OSGi规范的一个实现,由Eclipse基金会维护,广泛应用于企业级开发,如IBM WebSphere、Eclipse IDE等。本资源提供了深入理解OSGi:Equinox原理、应用与最佳实践的源代码分析,以及equinox-SDK-...
Equinox是Eclipse项目的一部分,它是一个开源的OSGi(开放服务网关规范)实现,用Java编写。OSGi是一种模块化系统,用于管理和运行Java应用程序。标题中的"equinox-1.7"指的是Equinox的1.7版本,这可能是该版本的一...
此外,还会涉及如何在Equinox运行时环境中部署和启动`myhello`项目,以及如何查看和管理bundle的状态。 总的来说,"equinox快速入门"旨在让初学者能够快速上手使用Equinox OSGi框架,通过实践操作理解模块化开发的...
1. **调试问题**:Eclipse在调试时可能会提示“Could not find bundle: org.eclipse.equinox.console”。这个问题通常是由于缺少必要的OSGI插件导致的。解决方法是在调试配置中,除了选择自己的OSGI组件,还需要添加...
d) 打开eclipse\configuration\org.eclipse.equinox.simpleconfigurator \bundles.info 在文件最后添加hudson.freemarker_ide,0.9.14,plugins/hudson.freemarker_ide_0.9.14/,4,false f) 注:hudson.freemarker_ide...
Equinox是OSGi规范的一个实现,它是由Eclipse基金会开发的。本文将详细介绍OSGi Equinox的原理、应用以及最佳实践。 一、OSGi Equinox原理 OSGi框架的核心是其模块化系统,它将程序分割成一系列的“Bundle”,每个...