是否可以使eclipse p2供应机制在本地运行?

时间:2020-03-06 14:42:21  来源:igfitidea点击:

Eclipse 3.4 [.x]也称为Ganymede,带有这种称为p2的新配置机制。

"预配置"是允许按需发现和更新应用程序某些部分的过程,如Sun网站上本文中的概述。

Eclipse的扩展wiki部分提供了p2详细信息。
具体来说,它在此Wiki页面中表示p2将寻找新组件
但是看完之后。

我想(但是我们可以根据自己的经验来确认这一点),p2可以运行文件" file://"协议,这将允许它使用本地文件进行配置(在计算机上或者在UNC路径'\ server上) \ path'),如此处所示,也可以通过以下文件查看:

  • [eclipse-SDK-3.4-win32] \ eclipse \ configuration \ .settings \ org.eclipse.equinox.p2.artifact.repository.prefs
  • [eclipse-SDK-3.4-win32] \ eclipse \ configuration \ .settings \ org.eclipse.equinox.p2.metadata.repository.prefs

p2机制用于通过eclipse 3.4更新站点来更新eclipse本身,并在这些" .prefs"文件中引用如下行:

repositories/file:_C:_jv_eclipse_eclipse-SDK-3.4-win32_eclipse/url=file:/C:/jv/eclipse/eclipse-SDK-3.4-win32/eclipse/

现在,我如何将更新站点中的eclipse组件复制到本地目录中,并通过提到的.prefs文件引用这些组件,以使升级过程完全在本地运行,而无需访问网络?
我认为遥远的"更新站点"中存在的一些p2元数据文件也需要复制和更改。

我们对此有任何想法/建议/提示吗? (即有关如何查找和检索并更新完整Eclipse安装所需的完整结构,以便在本地运行该安装的信息)

解决方案

似乎我们需要通过网络进行一项更新工作,该更新将反映(下载)我们需要的内容。但是之后,它应该能够从本地对等方获取文件。但是我想这是问题,它是否需要网络访问才能确定...

是的,如果我们使用p2.director,则可以指定存储库的位置

例如,这是一个脚本片段,我用来从Ganymede存储库的本地副本安装Eclipse(Ganymede)

./eclipse\
      -nosplash -consolelog -debug\
      -vm "${VM}"\
      -application org.eclipse.equinox.p2.director.app.application\
      -metadataRepository file:${SHARED_REPOSITORY_DIR}\
      -artifactRepository file:${SHARED_REPOSITORY_DIR}\
      -installIU "${4-org.eclipse.sdk.ide}"\
      -destination ""\
      -profile ""\
      -profileProperties org.eclipse.update.install.features=true\
      -bundlepool ${SHARED_BUNDLEPOOL_DIR}\
      -p2.os linux\
      -p2.ws gtk\
      -p2.arch ""\
      \
      -vmargs\
        -Xms64m -Xmx1024m -XX:MaxPermSize=256m\
        -Declipse.p2.data.area=${SHARED_P2_DIR}

以下是一些使用p2导演的链接

http://eclipse.dzone.com/articles/understanding-eclipse-p2-provi
http://wiki.eclipse.org/Equinox_p2_director_application