- 浏览: 1152147 次
- 性别:
- 来自: 火星郊区
博客专栏
-
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倍效率”开发者
Manifest-Version: 1.0 Bundle-Name: %name Bundle-SymbolicName: org.eclipse.pde.ui; singleton:=true Bundle-Version: 3.1.0 Bundle-ClassPath: org.eclipse.pde.ui_3.1.0.jar Bundle-Activator: org.eclipse.pde.internal.ui.PDEPlugin Bundle-Vendor: %provider-name Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui.ide, org.eclipse.ui.views, org.eclipse.jface.text, org.eclipse.ui.workbench.texteditor, org.eclipse.ui.editors, org.eclipse.ant.core, org.eclipse.core.resources, org.eclipse.debug.core, org.eclipse.debug.ui, org.eclipse.jdt.core, org.eclipse.jdt.debug.ui, org.eclipse.jdt.launching, org.eclipse.jdt.ui, org.eclipse.pde, org.eclipse.pde.build, org.eclipse.search, org.eclipse.team.core, org.eclipse.ui, org.eclipse.update.core, org.eclipse.ui.forms, org.eclipse.ant.ui, org.eclipse.jdt.junit, org.eclipse.ui.intro, org.eclipse.ui.cheatsheets, org.eclipse.update.configurator, org.eclipse.help.base Bundle-ManifestVersion: 2 Eclipse-AutoStart: true Export-Package: org.eclipse.pde.internal.ui;x-internal:=true, org.eclipse.pde.internal.ui.build;x-internal:=true, . . . org.eclipse.pde.ui, org.eclipse.pde.ui.internal.samples;x-internal:=true, org.eclipse.pde.ui.templates
各种插件导入现在被指定为必需的绑定包,* 包导出已经替换为显式导出的包列表。
插件级的依赖关系改为需要显式导出和导入包的依赖关系,当 Eclipse 宣布这个消息时,曾引起大量骚动。主要抱怨的是缺乏已经存在于 Eclipse 早期版本中的 <export name="*"/>
的替代物。但是,该省略有许多原因。最重要的原因是从显式导入和导出中获得的速度收益。早期版本的 Eclipse 必须打开并浏览每个插件 jar
文件以确定它包含哪些类。不包括 *
导出还提供了一级保护来避免插件暴露不必要的类。插件开发人员必须进行专门选择来使插件中的功能可供外部使用。该限制允许内部包保留在内部。
OSGi R4 框架核心目前的规范草案几乎有 PDF 格式的 300 页。介绍该规范的每个部分超出了本文范围,但我将讨论 Eclipse 插件开发人员特别感兴趣的 OSGi manifest.mf 选项:
Bundle-Activator
org.eclipse.pde.internal.ui.PDEPlugin
类。该类扩展 org.eclipse.core.runtime.Plugin
,实现了 BundleActivator
接口。
Bundle-ClassPath
Bundle-ClassPath:
,这允许插件的开发版本挑选已编译的绑定包类。
Bundle-Version
Export-Package
Import-Package
Require-Bundle
OSGi 规范包括的 manifest.mf 配置选项不提供 Eclipse 平台需要的所有功能。因此,Eclipse 创建者添加了多个扩展(还建议将它们包括在未来版本的 OSGi 规范中):
Export-Package
头扩展
default
和 strict
,可以使用 osgi.resolver
属性指定它们。Eclipse 还包括对 Export-Package
属性的两个扩展 —— x-internal
和 x-friends
,启用 Strict 模式时,会强制执行这两个扩展。
x-internal
x-friends
x-internal
,但允许特定绑定包使用具有该选项的已导出包。其他绑定包被禁止。x-internal
选项优先于 x-friends
。
Eclipse-AutoStart
Eclipse-PlatformFilter
-
osgi.nl
,表示语言 -
osgi.os
,表示操作系统 -
osgi.arch
,表示架构 -
osgi.ws
,表示窗口系统
SWT_AWT
桥的插件之前验证操作系统是否是 Mac OS X。(Standard Widget Toolkit(SWT)的 Mac OS X 实现当前不支持该功能。)
Eclipse-BuddyPolicy
伙伴类加载器选项
首先为 Hibernate 创建插件。然后创建一个插件,其中包含与 Hibernate 有依赖关系的特定于域的类。将下列行添加到 Hibernate 插件清单中:Eclipse-BuddyPolicy: registered
。
将下列清单属性添加到包含特定于域的类或资源的插件清单中: Eclipse-RegisterBuddy: hibernate
。
该行允许插件通过声明将自己暴露给 Hibernate 插件,而它预先并不知道这些插件。现在,Hibernate 插件可以看到需要的类,虽然它并没有专门导入它们。
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1573OSGi服务纲要规范中定义了服务于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 2509摘要:在进行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 12551、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1064不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1237registerResources()方法详解 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 1171软件的复杂性正在以惊 ... -
将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 1162当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1566OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
- **束格式和清单头**:介绍了如何根据OSGi规范创建合法的束文件,包括必要的清单头信息。 - **扩展器配置选项**:提供了多种配置选项,如监听扩展器事件、指定Spring配置文件的位置等。 - **必需的Spring框架和...
### Eclipse 平台扩展点清单知识点详解 #### 一、概述 Eclipse 是一款非常流行的开源集成开发环境(IDE),支持多种编程语言,尤其是 Java 的开发。为了满足不同开发者的需求,Eclipse 提供了大量的可扩展性机制。...
13. [HHH-8076]:涉及OSGi清单文件中应该将javax.security和javax.validation作为可选项。这对于使用OSGi容器的项目在打包和部署时是一个重要参考。 14. [HHH-7978]:文档了从HHH-5869开始的新功能,但具体细节没有...
- **勾选OSGi选项**:选择“Create an OSGi bundle manifest”以使用OSGi进行打包,这在Eclipse 3.0及更高版本中是必需的。 - **选择RCP类型**:在“Rich Client Application”部分选择“Yes”,以创建RCP应用。 - *...
2. **设置项目基本信息**:在后续页面中输入项目名(例如`org.eclipse.ui.tutorials.rcp.part3`),指示创建一个Java项目,选择Eclipse的目标版本(至少3.1),并启用创建OSGi Bundle清单文件的选项。 3. **选择...
- 选择`Create an OSGi bundle manifest`选项来启用OSGi支持,这是Eclipse 3.0及以上版本的动态加载标准。 2. **配置插件属性**: - 在`New Plug-in Project`向导中,选择创建一个RCP应用(勾选`Would you like ...
- 可以通过`-cp`或`-classpath`命令行选项,或者在`JAVA_OPTS`环境变量中设置自定义的ClassPath。 - 如果不指定ClassPath,JVM会使用默认值。 3. **构建ClassPath的方式** - **命令行参数**:在启动Java应用时,...
这些JAR文件可以从你的Eclipse安装目录的`plugins`子目录中找到,例如`org.eclipse.ui`, `org.eclipse.jdt`, `org.eclipse.core`, `org.eclipse.equinox`, `org.eclipse.debug`, `org.eclipse.osgi`, `org.eclipse....
- **MANIFEST.MF**: 插件清单文件,定义了插件的基本信息和依赖关系。 - **Bundle-Name**: 插件名称。 - **Bundle-SymbolicName**: 插件唯一标识符。 - **Bundle-Activator**: 主程序启动类的全名。 - **Require...
Eclipse的运行时环境基于OSGi(Open Service Gateway Initiative)规范,允许插件在运行时动态加载、卸载和更新。这种模型极大地提高了系统的灵活性和可维护性。 2. **运行时组件** Eclipse运行时由多个组件组成...
- RecyclerView相比于ListView提供了更灵活的布局选项和更好的性能。 - 它们都是用于展示列表数据的控件,但在实现机制上有差异。 36. **排序算法** - 排序算法包括快速排序、堆排序等多种类型。 - 快速排序...