`

Eclipse的Platform协议及其它

阅读更多

除常见的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的定位的支持情况如下:

  1. platform:base/xxx, 相对于rcp根目录下的资源

  2. platform:config/xxx, 相对于rcp的configuration目录下的资源

  3. platform:fragment/foo.bar/xxx, 相对于foo.bar这个fragment下的资源

  4. platform:meta/foo.bar/xxx, 相对于workspace/.metadata/.plugins/foo.bar目录下的资源

  5. platform:plugin/foo.bar/xxx, 相对于foo.bar这个plugin下的资源

  6. 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 STP(SOA Tools Platform)是Eclipse基金会推出的一款强大的服务导向架构(Service-Oriented Architecture, SOA)开发工具集。它为开发者提供了一整套集成开发环境(Integrated Development Environment, ...

    Eclipse使用入门(doc)

    2. **Eclipse工具项目**:专注于确保为Eclipse Platform构建高质量的工具,减少重复劳动并促进不同工具之间的无缝交互。 3. **Eclipse技术项目**:致力于探索新技术和教育材料的开发,鼓励研究人员、教育工作者等...

    Eclipse教程

    - **许可协议**:Eclipse 项目生产的软件遵循 Common Public License (CPL) v1.0,而第三方组件则遵循各自的许可协议。 #### 三、Eclipse 的特点 - **跨平台性**:Eclipse 支持多种操作系统,如 Windows、Linux 和...

    Eclipse使用入门.doc

    **Eclipse项目**是整个开源社区的核心,它由多个子项目组成,遵循Common Public License(CPL)协议。Eclipse项目主要负责平台的开发和维护,确保与其他工具的无缝集成。 **Eclipse工具项目**则关注于构建优秀的...

    Eclipse使用入门[整理].pdf

    Eclipse SDK整合了Platform、JDT(Java Development Tools)和PDE(Plug-in Development Environment)等组件,提供了一个功能丰富的开发环境,便于开发人员构建可插入Eclipse平台的工具。Eclipse SDK包含的软件遵循...

    Eclipse插件开发笔记源码

    Eclipse采用插件化架构,每个功能模块都是一个插件,这些插件通过OSGi(开放服务网关协议)框架进行交互。开发者可以通过编写插件,扩展Eclipse的功能,如代码编辑器、调试器、构建工具等。 2. **Plugin.xml文件**...

    eclipse 3.7 中文语言包

    这可能需要你同意许可协议,以及在安装过程中重启Eclipse。 6. **设置语言**:安装完毕后,再次进入“Window”菜单,选择“Preferences” > “General” > “Appearance” > “Language”,在下拉菜单中选择...

    eclipse安装包

    5. `4A`、`p2` - "p2"代表Platform 2,是Eclipse中的更新和依赖管理机制,用于处理软件的安装、升级和移除。 6. `features` - 这个目录包含了Eclipse的功能组件,每个组件都是一组相关的功能集合。 7. `...

    Eclipse3.1.1和中文语言

    Eclipse是一款广受欢迎的开源集成开发环境(IDE),主要用于Java编程,同时也支持其他语言如C++、Python等。Eclipse 3.1.1是该软件的一个特定版本,发布于2005年,它提供了丰富的功能,包括代码编辑、调试、构建管理...

    如何在eclipse中添加android ADT

    请注意,如果Eclipse版本不兼容,可能会导致安装失败,此时需更换其他版本的Eclipse重试。 4. **安装SDK版本插件** 安装ADT插件完成后,Eclipse的菜单栏会新增一个“Android”选项。点击进入,可以管理Android SDK...

    Eclipse 中文教程 完美版

    - **CPL与版权的区别**:CPL允许Eclipse与其他开源软件组合使用时仍保持开源,这与传统的版权概念不同,被称为“copyleft”。 **1.4 Eclipse版本介绍** - **发布版**:由Eclipse开发团队发布的正式稳定版本,经过...

    jdk eclipse开发环境搭建

    - **选择JDK版本**: 在页面上找到JDK 7u10(或根据需求选择其他版本),点击“JAVAPLATFORM JDK7u10”或“JDK DOWNLOAD”按钮。 - **接受许可协议**: 在下载前需同意许可协议,点击“Accept License Agreement”。 -...

    Eclipse中文教程

    Eclipse遵循Common Public License(CPL)协议,鼓励社区参与开发,促进了其快速发展和广泛的采纳。 1.3 Eclipse版本介绍: Eclipse主要分为多个版本,例如Java EE版(用于企业级应用开发)、Photon(一个特定的...

    eclipse 2020版本

    7. **语言服务器协议支持**:Eclipse开始支持语言服务器协议(LSP),这意味着它能更好地与其他语言工具和服务集成,为多种编程语言提供统一的开发体验。 8. **调试器改进**:Eclipse的调试器功能得到了强化,包括...

    dtp--eclipse的安装数据源管理的一个插件的安装方法

    Eclipse Data Tools Platform (DTP) 是一个强大的插件,为Eclipse集成开发环境(IDE)提供了数据库开发和管理的功能。这个插件使得开发者能够更有效地处理数据源,包括创建、连接、浏览和操作数据库。以下是你需要知道...

    Eclipse–整合开发工具(基础篇)

    Eclipse是基于开放源代码协议发布的,这意味着任何人都可以自由地下载、使用和修改Eclipse的源代码。这种开放性的特点使得Eclipse能够迅速成长,并吸引大量的开发者参与其中,不断改进和完善其功能。 ##### Eclipse...

    Eclipse教程.doc

    相比于其他一些严格的开放源代码许可证,CPL更加灵活,允许Eclipse与其他开放源代码项目结合后仍能用于商业目的。 #### 三、Eclipse版本介绍 **3.1 版本类型** - **释出版(Release builds)**:这是Eclipse官方...

    安装eclipse的VE插件

    通常,VE插件支持较新的Eclipse版本,如Java EE IDE或RCP(Rich Client Platform)版本。 2. **获取插件**:从可靠的源下载所需插件。在本案例中,我们有以下文件: - `VE-runtime-1.2.1.zip`:这是VE插件的核心...

    springboot远程调试(eclipse篇)

    4. **-Xrunjdwp**:加载 JDWP (Java Debug Wire Protocol) 的 JPDA (Java Platform Debugger Architecture) 实现,它是 Java 官方提供的调试协议。 - **transport=dt_socket**:指定使用套接字传输方式进行通信。 ...

    Android用eclipse开发环境搭建详解

    - 安装完成后,打开SDK Manager,选择需要的Android版本和工具,如API Level、Platform Tools、Build Tools等。 - 下载完成后,配置`ANDROID_HOME`环境变量,使其指向SDK的安装目录。 5. **在Eclipse中配置...

Global site tag (gtag.js) - Google Analytics