zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    java实现LFU算法
    2.1 测试函数-Rastrigin函数
    VM虚拟机如何与主机共享文件夹
    .bashrc文件和.bash_profile文件的区别
    1.2 准备工作
    1.1 JSOP架构
    vue中页面跳转拦截器的实现方法
    Javascript性能优化阅读笔记
    理解 e.clientX,e.clientY e.pageX e.pageY e.offsetX e.offsetY
    Vue.directive()的用法和实例
  • 原文地址:https://www.cnblogs.com/haiq/p/3899370.html
Copyright © 2011-2022 走看看