Equinox OSGi 主要的控制台命令表
类别
|
命令
|
含义
|
控制框架
|
launch
|
启动框架
|
shutdown
|
停止框架
|
close
|
关闭、退出框架
|
exit
|
立即退出,相当于 System.exit
|
init
|
卸载所有 bundle(前提是已经 shutdown)
|
setprop
|
设置属性,在运行时进行
|
控制 bundle
|
install
|
安装
|
uninstall
|
卸载
|
start
|
启动
|
stop
|
停止
|
refresh
|
刷新
|
update
|
更新
|
展示状态
|
status
|
展示安装的 bundle 和注册的服务
|
ss
|
展示所有 bundle 的简单状态
|
services
|
展示注册服务的详细信息
|
packages
|
展示导入、导出包的状态
|
bundles
|
展示所有已经安装的 bundles 的状态
|
headers
|
展示 bundles 的头信息,即 MANIFEST.MF 中的内容
|
log
|
展示 LOG 入口信息
|
其它
|
exec
|
在另外一个进程中执行一个命令(阻塞状态)
|
fork
|
和 EXEC 不同的是不会引起阻塞
|
gc
|
促使垃圾回收
|
getprop
|
得到属性,或者某个属性
|
控制启动级别
|
sl
|
得到某个 bundle 或者整个框架的 start level 信息
|
setfwsl
|
设置框架的 start level
|
setbsl
|
设置 bundle 的 start level
|
setibsl
|
设置初始化 bundle 的 start level
|
我们常用的就是用ss来查看所有的bundles的状态情况,我们也可以用start/stop来开启和关闭一个bundle,它后面跟的是bundle的ID,才能启动和关闭它,而不一定是ss看到的bundle的名字。
MANIFEST.MF 文件属性
Bundle-Activator |
Bundle 的启动器 |
Bundle-SymbolicName |
名称,一般使用类似于 JAVA 包路径的名字命名 |
Bundle-Version |
版本,注意不同版本的同名 bundle 可以同时上线部署 |
Export-Package |
导出的 package 声明,其它的 bundle 可以直接引用 |
Import-Package |
导入的 package |
Eclipse-LazyStart |
是否只有当被引用了才启动 |
Require-Bundle |
全依赖的 bundle,不推荐 |
Bundle-ClassPath |
本 bundle 的 class path,可以包含其它一些资源路径 |
Bundle-RequiredExecutionEnvironment |
本 bundle 必须的执行环境,例如 jdk 版本声明 |
分享到:
相关推荐
在MANIFEST.MF文件中,定义Bundle-SymbolicName和Bundle-Version属性,以标识bundle的唯一性和版本。 3. **导入导出包**:在MANIFEST.MF中,声明bundle需要导入和导出的包。导入表示对其他bundle的依赖,导出表示向...
然后,通过控制台或OSGi Console命令来启动你的HelloWorld模块,你会看到预期的输出。 6. **调试和测试**:由于OSGi环境的动态性,你可以方便地进行调试和测试。比如,你可以停止模块,修改代码,然后重新启动模块...
4. MANIFEST.MF文件:在OSGi模块中,包含一个被称为MANIFEST.MF的清单文件,它描述了模块的基本属性,如模块的名称、版本、依赖关系以及导出和导入的包。 5. 模块依赖性和公共API:OSGi模块需要声明它们所依赖的...
3. **Manifest.MF**:每个bundle内部都有一个`META-INF/MANIFEST.MF`文件,它包含了关于bundle的重要元数据,如导出和导入的包、版本信息等。 4. **服务注册与发现**:OSGi中的服务可以通过服务注册表进行注册和查找...
2. 安装Bundle:使用OSGI控制台(可以通过运行“console”脚本访问),输入命令“install file:/path/to/your/bundle.jar”将Bundle安装到平台上。 六、启动和使用Bundle 1. 启动Bundle:在控制台中,输入命令...
使用Java编译器将源代码编译成class文件,然后将其与MANIFEST.MF一起打包成JAR,这就是我们的OSGi bundle。接着,我们可以使用Equinox的启动脚本来运行OSGi框架,并将bundle部署进去。 **6. 运行与调试** 在Equinox...
3. **定义服务**:如果需要提供或消费OSGi服务,需在MANIFEST.MF文件中声明,并通过ServiceTracker或其他API管理服务的生命周期。 4. **构建和部署**:Eclipse可以自动构建OSGi Bundle,生成`.jar`文件。在Equinox...
1. **创建bundle项目**:使用如BndTools这样的工具,或者直接使用Maven或Gradle的OSGi插件,来设置bundle的MANIFEST.MF文件,定义bundle的导出和导入包。 2. **定义服务和组件**:使用DS或Spring的XML配置,声明...
使用文本编辑器或 IDE 创建一个名为 manifest.mf 的文件,并添加以下内容作为起点: ```plaintext Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: MyFirstBundle Bundle-SymbolicName: ...
1. **创建OSGi Bundle**:创建一个标准的OSGi Bundle项目,包含`MANIFEST.MF`文件,用于声明Bundle的信息和依赖。 2. **编写代码**:实现服务接口并在Bundle激活时注册服务。使用`BundleContext`的`registerService`...
1. **Bundle开发**:创建bundle需要编写MANIFEST.MF文件,定义bundle的元数据,如导出和导入的包、版本号等。 2. **依赖管理**:通过声明导入和导出包来管理依赖关系,确保bundle之间的正确协同工作。 3. **代码编写...
要开始使用Equinox,你需要创建并配置bundle,这通常涉及到定义bundle的元数据(如MANIFEST.MF文件),以及打包相关的类和资源。 在"LocalDictQuery"这个例子中,可能是一个演示如何在Equinox环境中查询本地字典...
**控制台命令**:通过控制台可以管理和监控OSGi框架的状态。一些基本的控制台命令包括: - `ss`:显示所有当前运行状态的Bundle。 - `shutdown`:停止OSGi框架。 - `install`:安装新的Bundle。 - `uninstall`:卸载...
4. **依赖管理** - OSGi通过manifest.mf文件中的Import-Package和Export-Package头来管理依赖关系,确保模块间的正确通信。 5. **配置管理** - 允许动态修改Bundle的配置,而不必停止或重新部署模块。 **OsgiSrc...
3. 集成Spring:在OSGi项目中引入Spring框架,这通常通过在MANIFEST.MF文件中声明对Spring的依赖完成。同时,可以使用Spring的Declarative Services(DS)来管理OSGi服务。 4. 编写代码:按照OSGi的模块化原则编写...
3. **创建和打包OSGi bundle**:将Java项目转换为OSGi bundle,需要遵循OSGi规范的MANIFEST.MF文件格式,定义导出和导入的包依赖。 4. **部署和管理bundle**:在Servlet容器内,可以通过HTTP接口或控制台来部署、...
导出插件:在项目的 `META-INF/MANIFEST.MF` 文件的 Build 页面,确保勾选 `META-INF` 和 `OSGI-INF`,然后导出为 Deployable plug-ins and fragments。 e. 将生成的 JAR 文件复制到 ServiceMix 的 `deploy` 目录...
Felix框架通过解析bundle的MANIFEST.MF文件来识别其依赖和提供的服务。 **conf**: 这个目录存放配置文件,用于设置Felix框架的行为和参数。其中可能包括配置服务注册、日志级别、网络设置等内容。开发者可以通过...