除常见的Http、FTP、FILE等协议之外,eclipse平台还支持多种扩展协议,甚至可以支持用户自定义协议。
Eclipse平台支持的协议,包括Plugin、Fragment、Meta、Config等,会在Eclipse runtime启动时候注册,可参见:
(1)org.eclipse.core.internal.runtime.Activator
(2)org.eclipse.core.internal.boot.PlatformURLHandler
(3)PlatformURLConnection
(4)URLConnection
从上述(3)的继承实现上,可以看到,Eclipse对platform协议url的定位的支持情况如下:
-
platform:base/xxx, 相对于rcp根目录下的资源
-
platform:config/xxx, 相对于rcp的configuration目录下的资源
-
platform:fragment/foo.bar/xxx, 相对于foo.bar这个fragment下的资源
-
platform:meta/foo.bar/xxx, 相对于workspace/.metadata/.plugins/foo.bar目录下的资源
-
platform:plugin/foo.bar/xxx, 相对于foo.bar这个plugin下的资源
-
platform:resource/foo/xxx, 相对于workspace里foo工程下的资源, foo工程有可能在workspace目录之外.
也可以通过继承PlatformURLConnection类,定义自己的基于Platform的URL。
从根本上来说,这种便利性是由Java URLConnection 乃至关于URL的标准的可扩展性带来的,Eclipse平台只是有效地利用了这种可扩展性。类似的情况还有OSGI的Bundle协议和Java的Jar协议等。
在实际的插件开发中,常用以下方法给文件定位
1 在插件内定位:
Bundle bundle = MapEditorPlugin.getDefault().getBundle();
URL url = bundle.getEntry("temp/xxx");
这种方式表示 xxx 这个文件在本插件的temp目录下
2 在RCP的配置路径下:
URL url = new URL("platform:config/xxx");
Properties prop = new Properties() ;
prop.load(url.openStream());
这种方式表示xxx这个文件在你的rcp的工作目录下的configuration目录下
另外,应该善加利用Platform里的方法,如调用Platform.getConfigurationLocation()也可获得配置目录的Location,通过location可以getURL()。
转自: http://blog.csdn.net/alpineflame/article/details/1756026
分享到:
相关推荐
Eclipse STP(SOA Tools Platform)是Eclipse基金会推出的一款强大的服务导向架构(Service-Oriented Architecture, SOA)开发工具集。它为开发者提供了一整套集成开发环境(Integrated Development Environment, ...
2. **Eclipse工具项目**:专注于确保为Eclipse Platform构建高质量的工具,减少重复劳动并促进不同工具之间的无缝交互。 3. **Eclipse技术项目**:致力于探索新技术和教育材料的开发,鼓励研究人员、教育工作者等...
- **许可协议**:Eclipse 项目生产的软件遵循 Common Public License (CPL) v1.0,而第三方组件则遵循各自的许可协议。 #### 三、Eclipse 的特点 - **跨平台性**:Eclipse 支持多种操作系统,如 Windows、Linux 和...
**Eclipse项目**是整个开源社区的核心,它由多个子项目组成,遵循Common Public License(CPL)协议。Eclipse项目主要负责平台的开发和维护,确保与其他工具的无缝集成。 **Eclipse工具项目**则关注于构建优秀的...
Eclipse SDK整合了Platform、JDT(Java Development Tools)和PDE(Plug-in Development Environment)等组件,提供了一个功能丰富的开发环境,便于开发人员构建可插入Eclipse平台的工具。Eclipse SDK包含的软件遵循...
Eclipse采用插件化架构,每个功能模块都是一个插件,这些插件通过OSGi(开放服务网关协议)框架进行交互。开发者可以通过编写插件,扩展Eclipse的功能,如代码编辑器、调试器、构建工具等。 2. **Plugin.xml文件**...
这可能需要你同意许可协议,以及在安装过程中重启Eclipse。 6. **设置语言**:安装完毕后,再次进入“Window”菜单,选择“Preferences” > “General” > “Appearance” > “Language”,在下拉菜单中选择...
5. `4A`、`p2` - "p2"代表Platform 2,是Eclipse中的更新和依赖管理机制,用于处理软件的安装、升级和移除。 6. `features` - 这个目录包含了Eclipse的功能组件,每个组件都是一组相关的功能集合。 7. `...
Eclipse是一款广受欢迎的开源集成开发环境(IDE),主要用于Java编程,同时也支持其他语言如C++、Python等。Eclipse 3.1.1是该软件的一个特定版本,发布于2005年,它提供了丰富的功能,包括代码编辑、调试、构建管理...
请注意,如果Eclipse版本不兼容,可能会导致安装失败,此时需更换其他版本的Eclipse重试。 4. **安装SDK版本插件** 安装ADT插件完成后,Eclipse的菜单栏会新增一个“Android”选项。点击进入,可以管理Android SDK...
- **CPL与版权的区别**:CPL允许Eclipse与其他开源软件组合使用时仍保持开源,这与传统的版权概念不同,被称为“copyleft”。 **1.4 Eclipse版本介绍** - **发布版**:由Eclipse开发团队发布的正式稳定版本,经过...
- **选择JDK版本**: 在页面上找到JDK 7u10(或根据需求选择其他版本),点击“JAVAPLATFORM JDK7u10”或“JDK DOWNLOAD”按钮。 - **接受许可协议**: 在下载前需同意许可协议,点击“Accept License Agreement”。 -...
Eclipse遵循Common Public License(CPL)协议,鼓励社区参与开发,促进了其快速发展和广泛的采纳。 1.3 Eclipse版本介绍: Eclipse主要分为多个版本,例如Java EE版(用于企业级应用开发)、Photon(一个特定的...
7. **语言服务器协议支持**:Eclipse开始支持语言服务器协议(LSP),这意味着它能更好地与其他语言工具和服务集成,为多种编程语言提供统一的开发体验。 8. **调试器改进**:Eclipse的调试器功能得到了强化,包括...
Eclipse Data Tools Platform (DTP) 是一个强大的插件,为Eclipse集成开发环境(IDE)提供了数据库开发和管理的功能。这个插件使得开发者能够更有效地处理数据源,包括创建、连接、浏览和操作数据库。以下是你需要知道...
Eclipse是基于开放源代码协议发布的,这意味着任何人都可以自由地下载、使用和修改Eclipse的源代码。这种开放性的特点使得Eclipse能够迅速成长,并吸引大量的开发者参与其中,不断改进和完善其功能。 ##### Eclipse...
相比于其他一些严格的开放源代码许可证,CPL更加灵活,允许Eclipse与其他开放源代码项目结合后仍能用于商业目的。 #### 三、Eclipse版本介绍 **3.1 版本类型** - **释出版(Release builds)**:这是Eclipse官方...
通常,VE插件支持较新的Eclipse版本,如Java EE IDE或RCP(Rich Client Platform)版本。 2. **获取插件**:从可靠的源下载所需插件。在本案例中,我们有以下文件: - `VE-runtime-1.2.1.zip`:这是VE插件的核心...
4. **-Xrunjdwp**:加载 JDWP (Java Debug Wire Protocol) 的 JPDA (Java Platform Debugger Architecture) 实现,它是 Java 官方提供的调试协议。 - **transport=dt_socket**:指定使用套接字传输方式进行通信。 ...
- 安装完成后,打开SDK Manager,选择需要的Android版本和工具,如API Level、Platform Tools、Build Tools等。 - 下载完成后,配置`ANDROID_HOME`环境变量,使其指向SDK的安装目录。 5. **在Eclipse中配置...