- 浏览: 1152558 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
Equinox实现项目
|
服务名称 |
服务说明 |
Application Container |
该项目实现了OSGi R4 MEG中的应用程序容器服务
|
|
Common Utility Bundle |
由一组Eclipse工具类(如IStatus,Assert,IAdaptable等)组成的实用程序Bundle。该Bundle也可以在非OSGi环境中独立使用。
|
|
Device Access Service |
OSGi R4规范中的Device Access Service标准服务的实现,该组件由Prosyst公司提供实现。
|
|
Declarative Services |
OSGi R4规范中的Declarative Service标准服务的实现,该组件由Prosyst公司提供实现
|
|
Event Admin Service |
OSGi R4规范中的事件管理服务的实现。
|
|
HTTP Service |
OSGi R4规范中的HTTP服务实现
|
|
Log Service |
OSGi R4规范中的日志服务实现
|
|
Metatype Service |
OSGi R4规范中的Metatype服务的实现
|
|
Preferences Service |
OSGi R4规范中的Preferences服务的实现
|
|
Extension Registry |
Equinox提供的Ecipse扩展点(extension point)注册表服务
|
|
Supplemental Bundle/JAR |
Equinox提供的一组Equinox实现所使用的类型库
|
|
User Admin Service |
OSGi R4规范中的用户管理服务实现
|
|
Wire Admin Service |
OSGi R4规范中的服务通信拓扑管理服务
|
|
OSGi Services API |
OSGi R4规范中的服务接口定义,该Bundle由OSGi联盟定义的服务API接口组成
|
|
OSGi Utilities |
OSGi R4规范中的工具类接口及接口实现Bundle
|
Equinox J2EE实现项目
|
服务名称 |
服务说明 |
HTTP service |
该Bundle是OSGi R4规范中的HTTP服务的标准实现。目前该实现只支持Servlet 2.3。
|
|
HTTP registry |
该Bundle支持使用Eclipse的扩展注册表注册servlet,文件资源和JSP而不是使用OSGi中的代码注册机制。
|
|
Servlet Bridge |
该Bundle提供一个底层的Hook servlet,使得Equinox可以嵌入到现有的应用服务器中运行。该Bundle中的servlet启动嵌入的Equinox并使其可以处理来自底层应用服务器接收的HTTP请求。
|
|
HTTP Servlet |
该Bundle为在Equinox中发布其他servlet处理引擎(如传统的应用服务器)为OSGi HTTP服务提供支持。
|
|
HTTP ServletBridge |
该Bundle为底层的应用服务器(如Tomcat,Jetty等)发布为OSGi HTTP服务提供一层封装。封装的应用服务器必须安装该servlet bridge。
|
|
Servlet API |
Servlet规范标准接口API的Bundle封装。
|
|
Servlet JSP API |
Servlet JSP API接口的Bundle封装。
|
|
Jetty |
嵌入式Jetty实现的Bundle封装。目前Equinox提供的Jetty实现版本为5.x。
|
|
HTTP Jetty |
1、概述
在上文中讲到,Equinox包括核心框架,标准服务实现,面向J2EE的应用,新的部署更新框架及一些其他的研究方向。本文主要针对Equinox实现的OSGi核心框架及Equinox OSGi运行环境的搭建过程进行详细讲述。
用户在阅读下文时,应具有基本的Java编程及打包的概念并对OSGi标准的构成有一定的了解,理解OSGi框架及Bundle的概念。
2、OSGi核心框架
从OSGi核心框架示意图可以看到,OSGi核心框架主要包括模块层,生命周期层,服务层及安全层组成。完整的OSGi核心框架实现,还包括包管理服务(Package Admin)、启动层次服务(Start Level)、条件许可管理(Conditional Permission Admin)、权限管理(Permission Admin)及URL处理服务(URL Handlers)等框架服务。
关于OSGi核心框架的详细介绍请参考OSGi标准规范。
3、Equinox的OSGi Framework实现
Equinox的OSGi框架实现包含在org.eclipse.osgi插件项目中。在发布的Eclipse环境中,用户可以在Eclipse安装目录下的plugins目录中找到该插件。该插件一般以"org.eclipse.osgi_<版本号>.jar"的JAR文件形式打包。由于是从Eclipse3.0以前版本迁移到OSGi核心的缘故,目前的Equinox OSGi 实现中包含的代码非常繁杂。
在org.eclipse.osgi项目源代码中用户可以看到除了OSGi接口及框架实现外,还包括adaptor接口及默认的adaptor(defaultAdaptor),eclipse adaptor(eclipseAdaptor)实现,控制台实现(console),附加服务扩展(supplement),Bundle组件解析(resolver)和Bundle JAR文件校验等功能。
在实际使用中,用户使用该Jar文件即可将OSGi框架运行起来(参考下文OSGi运行环境的搭建)。作为一个产品级的应用,往往存在很多系统级的参数可供用户进行配置以调整系统的运行行为而满足不同环境的要求。同样,Equinox运行环境也提供了大量的运行参数以供用户选择配置。配置Equinox运行环境参数的方式主要有两种,一种是使用JVM环境变量;另一种方式是使用Equinox的配置文件(config.ini)。
用户在获取到org.eclipse.osgi_<版本号>.jar文件后,可以尝试以命令行的方式启动该Jar文件。该Jar文件的入库主类是:org.eclipse.core.runtime.adaptor.EclipseStarter。
java -jar org.eclipse.osgi_3.3.1.R33x_v20070828.jar
用户会发现该程序执行后立即退出,控制台上没有任何输出。这是因为不存在拥有可持续运行的代码功能,框架启动后即退出主线程。下文中,我们会给出OSGi运行环境搭建的详细过程。
4、搭建Equinox OSGi运行环境
4.1 原始的OSGi环境
从Eclipse官方网站下载Equinox OSGi框架。将其下载到c:/equinox目录中。本文中使用的Equinox版本为3.3.1。直接从命令行运行该jar文件时程序执行后会立即退出,为了更好的了解Equinox OSGi框架的特点,我们在运行时添加JVM参数"osgi.console"。如下图所示:
执行"java -Dosgi.console -jar org.eclipse.osgi_3.3.1_R33x_v20070828.jar"后,系统给出"osgi>"命令输入提示。输入"ss"命令后回车,用户可以看到上图所示"Framework is launched."的信息。同时,下方显式了系统启动的Bundle列表,id列为该Bundle在OSGi运行环境中的唯一运行标识,State列为该Bundle当前的状态,Bundle列显示了该Bundle组件的SymbolicName。
此时,OSGi框架已经处于运行状态。
Equinox OSGi Console提供了很多命令用于与OSGi框架交互,用户可以输入任何非OSGi Console的内部命令字符,控制太将显示Equinox Console提供的所有命令。如下下图所示:
执行"services"命令,用户可以看到当前OSGi框架中发布的所有的服务信息。
4.2 以运行参数方式向OSGi环境中部署Bundle
下载Equinox SDK,将plugins目录下的org.eclipse.osgi.services_3.1.200.v20070605.jar文件拷贝到C:/equinox目录下。修改命令行运行参数如下:
java -Dosgi.console -Dosgi.bundles=org.eclipse.osgi.services_3.1.200.v20070605.jar -jar org.eclipse.osgi_3.3.1_R33x_v20070828.jar
执行该命令,系统运行结果如下图所示:
从运行结果可以看出,JVM参数"-Dosgi.bundles=org.eclipse.osgi.services_3.1.200.v20070605.jar"将org.eclipse.osgi.services组件部署到了OSGi运行环境中。此时,该组件的状态为"RESOLVED",即该组件被框架解析但没有启动。如果用户希望组件在加载的同时启动该组件,可以修改上述参数为:
-Dosgi.bundles=org.eclipse.osgi.services_3.1.200.v20070605.jar@2:start。
"@2"指明该组件的启动级别,":"后的"start"标明该组件在加载后启动。按修改后的参数重新执行命令输出结果如下图所示:
从上图可以看出,部署的org.eclipse.osgi.services组件在加载后被OSGi框架启动,其状态显示为"ACTIVE"。
4.3以配置文件方式向OSGi环境中部署Bundle
从上述部署Bundle的方式看出,当部署多个Bundle时,使用JVM参数配置方式是不可取的。Equinox OSGi支持从配置文件中读取加载的Bundle,下面我们演示如何使用配置文件部署多个Bundle。
将Equinox SDK中plugins目录下的org.eclipse.osgi.util_3.1.200.v20070605.jar文件拷贝到C:/equinox目录下。
Equinox OSGi提供了环境变量"osgi.configuration.area",该变量指明了配置文件config.ini的存储路径。下面我们在C:/equinox目录下添加config.ini文件,并在该文件中添加如下内容:
osgi.bundles=org.eclipse.osgi.services_3.1.200.v20070605.jar@2:start, org.eclipse.osgi.util_3.1.200.v20070605.jar
修改OSGi框架启动命令行为:
java -Dosgi.console -Dosgi.configuration.area=. -jar org.eclipse.osgi_3.3.1_R33x_v20070828.jar
执行上述命令后的输出结果如下图所示:
5、使用Eclipse Launcher启动Equinox OSGi
熟悉Eclipse IDE环境的用户会注意到3.2版本(包括3.2)以前Eclipse安装目录下存在eclipse.exe和startup.jar两个文件,用于启动Eclipse运行环境。从3.3版本开始,Equinox将startup.jar拆分为两个不同的Bundle(Fragment)放置在了plugins目录下。用户可以从Equinox站点下载Launcher。下载后的3.3.1发布版本的Launcher包括下面两个组件:
org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
org.eclipse.equinox.launcher.win32.win32.x86_1.0.1.R33x_v20070828 [目录]
在进行下述操作之前,我们需要调整C:/equinox的目录结构,在该目录下添加"configuration"和"plugins"两个目录,将所有的Bundle组件(包括目录)转移到plugins目录下;将config.ini文件转移到configuration目录下,将Launcher包中的"eclipse.exe"文件拷贝到C:/equinox目录下。此时的目录结构如下图所示:
plugins目录下的内容如下图所示:
修改命令行OSGi框架启动命令为:
eclipse.exe -console -noexit
执行该命令后,在弹出的控制台中输入"ss"命令,输出结果如下:
5.1使用eclipse.ini文件
除了从命令行传入eclipse.exe使用的运行参数外,用户也可以配置与eclipse.exe的文件同名的ini文件存放eclipse.exe运行所需要的参数。用户应将该ini文件放置在eclipse.exe所在的文件目录下。
我们在C:/equinox目录下添加eclipse.ini文件,在该文件中添加如下内容:
-console
-noexit
直接点击eclipse.exe程序图标启动Equinox OSGi运行环境。程序运行结果如下图所示:
至此,Equinox OSGi完整的运行环境已经搭建完成。如果用户希望将新的Bundle发布到该环境中,只需要修改configuration目录下config.ini文件,将新的bundle添加到osgi.bundles参数下。
6、常见问题
用户在上述操作步骤中,会发现在configuration目录下生成一些错误日志文件,如果用户发现日志中出现以下内容:
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:72)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
用户可以在config.ini文件中添加如下配置:
eclipse.ignoreApp=true
7、小结
在上文中,我们详细介绍了Equinox OSGi环境组成及其搭建过程。在下一篇文档中,我们会对Equinox OSGi的运行参数做详细的介绍,同时提供一种方式使得OSGi框架能够自动发现部署的OSGi bundle而不用频繁修改配置文件
1、概述
上文我们对Equinox OSGi运行环境的组成及搭建过程做了详细讲述。本文主要对Equinox OSGi运行环境的可配置参数及其作用加以介绍,从而使用户在实际使用过程中可以对Equinox运行环境更好地进行控制。
Equinox项目沿袭Eclipse的特点,具有高度的可配置性。用户可以通过命令行参数或系统属性参数(JVM属性参数)两种方式对Equinox OSGi运行环境进行设定。命令行参数可以看作是系统属性参数的简化方式,Equinox中提供的很多系统属性参数可能不具有对应的命令行快捷设定。
2、Equinox配置参数详解
Equinox配置的参数在实际使用中可以通过以下三种方式:
- 在命令行中,使用Java虚拟机参数-D作为系统属性来设定,如:-Declipse.ignoreApp=true;
- 在配置文件config.ini文件中进行配置,如:osgi.framework=plugins/org.eclipse.osgi_<版本号>.jar
- 在Eclipse Launcher的配置文件.ini文件中进行配置。在此配置文件中用户需要使用命令行参数而不是系统属性的格式。如:-console。用户在发布Equinox或RCP应用时可以设定启动程序(Eclipse Launcher)的名称和图标,如将启动程序改为:MyApp.exe,则对应的启动配置文件应命名为:MyApp.ini。
下表列举了Equinox3.3版本主要的配置参数。该列表包括系统参数,用于JVM属性配置或config.ini文件配置;命令行参数(如果有)用于.ini文件配置;参数的简要说明描述该参数的用途。
说明:
- 表中所列参数来自于Eclipse3.3帮助文档,关于参数的解释可能不够准确,请用户参考Eclipse帮助获取详细信息。
- 表中所列参数严格说来仅部分用于Equinox OSGi,全部适用于Eclipse。在下述说明中将不区分Equinox和Eclipse。
3、其他命令行参数
说明:下述参数仅用于3.3以上版本
- --launcher.ini (Executable) NEW
- --launcher.suppressErrors (Executable) NEW
- -name NEW
- -noSplash (版本1.0+)
- -showSplash (Executable, Main) NEW
- -startup (Executable) NEW
4、launcher.ini文件格式举例
Equinox launcher.ini文件的命令行参数设定格式如下例所示:
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1574OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20404.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2510摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1426随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1418随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1639OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12561、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1064不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1239registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1370在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1311osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1172软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3546将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1337Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11581、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1424Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13351、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1210一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1164当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1566OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
Equinox OSGi是IBM公司开发的一个开源OSGi实现,它是Eclipse项目的一部分,用于创建模块化、可扩展且轻量级的应用程序。OSGi(Open Service Gateway Initiative)是一种Java平台的标准,它允许开发者将应用程序分解...
本文将介绍 Equinox 的 ServletBridge 项目,提供一个示例来说明如何使用 ... 前一种:和普通的 OSGI bundle 开发差不多,而后一种:Equinox 提供 servletBridge 来将 OSGI framework 和 Servelet Container 联系起来。
标题:“Equinox OSGi 开发” 描述:“介绍基于Equinox平台的OSGi Bundle开发” 在深入探讨基于Equinox平台的OSGi Bundle开发之前,我们首先需要了解什么是OSGi服务平台以及为什么它如此重要。OSGi(Open Service ...
最近整OSGI,整的心情很是不爽,尤其最近搞equinox命令行下的bundle调试,搞两下就很厌倦输入java -jar equinox.jar -console,然后可怜的去加载一个个bundle,虽然通过config.ini可以一把加载相应需要的bundle,但是每次...
**使用Equinox开发OSGI应用程序工程及源码详解** OSGi(Open Service Gateway Initiative)是一种模块化系统和Java服务框架,它允许在运行时动态发现、安装、卸载和更新软件模块。Equinox是Eclipse基金会提供的一个...
Equinox OSGi是IBM公司开发的一个开源实现,它是OSGi规范的主要实现之一,用于创建模块化Java应用程序。OSGi(Open Services Gateway Initiative)是一种Java技术,它将JVM(Java虚拟机)转换为模块化的运行时环境,...
【OSGi框架与Equinox简介】 OSGi(Open Services Gateway Initiative)是一种动态模块化系统,最初为嵌入式设备和家庭网关设计,但现在已经广泛应用于各种需要模块化、服务导向和组件化架构的Java应用程序。OSGi的...
标题"基于EQUINOX的OSGI BUNDLE运行例子"指的是一个实际操作示例,展示了如何在EQUINOX OSGi环境中运行OSGi Bundle。EQUINOX提供了一个完整的运行时环境,使得开发者可以方便地管理和执行这些模块化的Bundle。 描述...
在本章中,我们将深入探讨如何使用OSGi(Open Service Gateway Initiative)框架,特别是Equinox实现高度模块化的Java系统。Equinox是Eclipse基金会提供的一个OSGi实现,它允许开发者构建可热插拔的组件,使得系统...
Equinox是Eclipse项目的一部分,它是一个开源的OSGi实现,用Java编写,主要用于构建模块化应用程序。OSGi(Open Service Gateway Initiative)是一种Java服务框架,它定义了一种标准的模块化系统,允许Java应用程序...
【标题】"Equinox快速入门"是针对IBM的开源OSGi框架Equinox的学习指南,它主要帮助初学者理解和掌握如何在开发环境中使用Equinox。OSGi(Open Service Gateway Initiative)是一种模块化系统,用于Java应用程序的...
### Equinox开发OSGi应用程序 #### OSGi及框架简介 **OSGi**(Open Service Gateway Initiative)是一种用于创建模块化Java应用程序和服务的框架。它最初是为了满足嵌入式设备和家庭网关的需求而设计的,但随着...
Equinox是Eclipse基金会提供的一个OSGi实现,它允许开发者创建高度模块化的Java系统,从而提高了软件的可维护性和可扩展性。本章聚焦于OSGi中的Declarative Services(DS),这是一种声明式的服务管理机制,它简化了...
标题“OSGi and Equinox”和描述“OSGi and Equinox, Creating Highly Modular Java Systems”表明本文旨在介绍OSGi框架以及它在Eclipse环境下的具体实现Equinox。OSGi是一个Java模块化平台,它允许多个独立的模块...
标题:开始使用Equinox与OSGi 描述:在Dzone论坛上发现的一个快速入门卡片教程,为初学者提供了一瞥。 知识点: 1. **Equinox简介**:Equinox是一个高度模块化、动态的Java运行环境,基于OSGi框架规范构建。它...
《深入理解OSGi》这本书,出自Java虚拟机权威专家周志明之手,将引领读者深入探究OSGi的核心概念、Equinox实现以及最佳实践。 1. **OSGi核心概念** - **模块化**:OSGi的核心是模块化系统,它将代码分解为独立的...
总的来说,配置一个基于Eclipse Equinox OSGi的Web应用程序涉及对OSGI基本概念的理解、Eclipse Equinox的使用、Web服务的封装以及OSGI环境下的服务注册和发现。通过这种方式,你可以构建一个高度模块化、可扩展且...
在Eclipse 3.5中,可以使用内置的Equinox OSGi框架来启动和管理OSGi应用。你需要配置Eclipse工作空间的运行配置,指定要启动的Bundle,并设置相关参数。 5. **依赖管理** OSGi的动态性体现在它可以处理复杂的依赖...
在本篇博文中,我们将探讨如何使用Equinox作为框架来开发OSGi应用程序。Equinox是Eclipse项目的一个组件,它提供了OSGi规范的实现,使我们能够构建模块化、可扩展且灵活的Java应用程序。OSGi(Open Service Gateway ...
Eclipse不仅支持Java开发,还内嵌了Equinox OSGi容器,这使得开发和调试OSGi应用变得非常方便。 3. **Equinox**:Equinox是Eclipse自带的OSGi实现,版本同样为3.4.1。它是本教程的主要OSGi容器。 4. **Jetty**:...