Equinox P2 介绍(一)Getting Start

一直觉得 Equinox 的 P2 是个神秘的东西,常常使得 Eclipse 或 Equinox 表现出一些奇怪的行为,于是找来官方文档读一读,试图更好地理解与应用 Equinox 。

官方文档很多,只能挑其中比较关注的部分来阅读,边看边记下吧。

1、 Getting Start ---原文:http://wiki.eclipse.org/Equinox/p2/Getting_Started

  P2 全称是 provisioning platform ,用于替代 Eclipse 3.4 及以前版本中的 Update Manager 功能,用于管理 Eclipse 插件的安装、搜索升级等。

  P2 的UI替换了原来的 Update Manager 功能的菜单 Help > Software Updates,包含了安装、升级站点管理等功能。

  Eclipse 中 P2 相关的目录和文件有:

eclipse/
   configuration/
     config.ini
     org.eclipse.equinox.simpleconfigurator/
       bundles.info
   dropins/
   features/
   p2/
   plugins/
   eclipse.exe
   eclipse.ini

   bundles.info 列出了当前安装的全部插件,这些插件在启动时将被运行。通过P2的界面进行插件的安装(install)或者卸载将导致此文件的修改。

   dropins 目录受到 P2 监视,用于手动往目录放入插件文件的方式安装插件,这点类似于以前版本(3.4以前)的 plugins 目录。但与以前不同,P2 并不保证放入 dropins 的目录就一定会被安装到系统中,如果放入的插件无法被正确解析,或者与现有的已安装的插件产生冲突,则插件将不会得到安装,且不会输出任务异常信息到日志

  为了保持向前兼容,P2 也会检测安装放入到 plugins 目录的插件,但这些手工放入的插件会被特殊对待,这其中的规则是:如果手工安装的插件,也只能手工卸载(uninstall),而无法通过 P2 卸载。推荐的方法是:尽量避免对 plugins 目录进行手工操作,手工操作应通过 dropins 目录进行。

  dropins 支持的目录结构:

 eclipse/
   dropins/
     org.eclipse.core.tools_1.4.0.200710121455.jar
     org.eclipse.releng.tools_3.3.0.v20070412/
       plugin.xml
       tools.jar
       ... etc ...
   ...
 eclipse/
   dropins/
     eclipse/
       features/
       plugins/
 eclipse/
   dropins/
     emf/
       eclipse/
         features/
         plugins/
     gef/
       eclipse/
         features/
         plugins/
     ... etc ...
 eclipse/
   dropins/
     emf.link

  诊断:

  如果放入 dropins 的插件未被安装,首先检查  org.eclipse.equinox.ds 和 org.eclipse.equinox.p2.reconciler.dropins 是否被标识为自动启动(auto-start)(注:不清楚这两个指的是插件名称还是两个配置项,仅记录原文档的描述,以后有新发现了再更新)。

  如果发生了解析错误,默认情况下错误信息会被完全忽略而不会向日志或控制台输出。如果需要将这些信息输出到日志,可以在 .option 文件中加入以下的配置项,并且以参数 "-debug path/to/.options" 运行。

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

  

Equinox P2 介绍(一)Getting Start

时间: 2024-08-11 15:14:56

Equinox P2 介绍(一)Getting Start的相关文章

Equinox P2的学习

product.configuration 点击“Add按钮”并添加以下插件: org.eclipse.equinox.p2.ui org.eclipse.equinox.p2.ui.sdk org.eclipse.equinox.p2.ui.sdk.scheduler org.eclipse.equinox.p2.transport.ecf org.eclipse.equinox.p2.touchpoint.natives org.eclipse.equinox.p2.garbagecolle

org.eclipse.equinox.internal.p2.engine.phases.CheckTrust phase问题

由于装了两个不同版本的CDT,然后打算卸掉一个,分不开版本,就直接在plugin和feature中将所有org.eclipse.cdt开头的包删掉了.重启Eclipse安装时出现org.eclipse.equinox.internal.p2.engine.phases.CheckTrust phase错误. 出现错误的原因是Eclipse的更新管理P2出错了.p2有它的一个垃圾回收机制,之前删除的JAR包在未被回收之前,再次重装,系统不会做重新download的动作,但是它又找不到那个JAR包了

Equinox OSGi

1.       背景信息 Equinox项目是Eclipse开源组织提供的OSGi框架的实现.Eclipse自3.0版本开始,其内核移植到OSGi框架上.通过OSGi框架强大的组件控制,交互和管理能力,再加上Eclipse插件的自有特点,Eclipse开源框架得到了跳跃式的发展.同时,OSGi规范得益于Eclipse IDE环境庞大的使用者,OSGi联盟也进入了快速发展时期.     OSGi框架在2006年之前还不为广大的开发者所知,OSGi的开源框架实现也只有ObjectWeb上的Osca

使用Eclipse Installer安装Eclipse

由于一些原因,需要重新安装Eclipse,登陆到Eclipse官网下载Eclipse时发现社区又推出了Eclipse Installer.所以就下下来尝尝鲜. 刚开始确实有些选项不太明白,不过现在挺喜欢这个工具的.所以我想在这里跟大家分享一下这个好用的工具的用法. 以前升级Eclipse也不算麻烦,设置好网络代理,然后使用Eclipse自带的升级服务等一会儿就可以使用最新版本的Eclipse了.但是今年代理不好用了,连Eclipse自带的升级服务都没法用了.倒腾了一下午反倒把Eclipse弄坏了

定制Eclipse IDE之功能篇(一)

上文回顾:定制Eclipse IDE之界面篇 这一篇文章将记录一些Eclipse插件拓展(extension),简单讲述常用拓展的用法,但可能不会那么详细. 我的主要插件的拓展如下: 一.org.eclipse.ui.startup 这一个拓展可以说很关键,他可以让我们在eclipse启动时候做一些事件(之后很多小功能东西依靠它做的). XML配置: <extension point="org.eclipse.ui.startup"> <startup class=&

Eclipse崩溃后无法启动的问题解决

一次Eclipse发生内存溢出(ADT环境,多打开几个xml文件内存占用就会飚升),强制结束任务,再次启动Eclipse发现闪退.查看workspace/.metadata/.log文件发现如下错误信息: !ENTRY org.eclipse.equinox.p2.ui.sdk.scheduler 4 0 2015-04-07 22:29:38.086!MESSAGE Unable to execute early startup code for an extension!STACK 1org

安装Java的IDE Eclipse时出现java.net.SocketException,出现错误Installer failed,show.log

ERROR: org.eclipse.equinox.p2.transport.ecf code=1002 Unable to read repository at http://download.eclipse.org/oomph/updates/milestone/latest/content.xml. java.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInput

eclipse juno版本中没用 ant

下载了谷歌提供的Android集成开发工具ADT,里面封装了Eclipse,但是很奇怪的是竟然没有Ant插件在里面 标准的Eclipse一般都是内置集成了Ant的. 然后到eclipse的plugins目录下查看了,其实是有安装ant插件的,但是没有在界面体现出来. 要让Eclipse在界面显示Ant的相关配置,可在命令行下作如下操作: $ cd <your eclipse install folder> $ ./eclipse -application org.eclipse.equinox

eclipse在linux下无故闪退解决

A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x00007f25d0b922a1, pid=3459, tid=139803099674368 JRE version: Java™ SE Runtime Environment (7.0_60-b19) (build 1.7.0_60-b19) Java VM: Java HotSpot™ 64-Bit Server VM