27

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”文件中引用如下行:

存储库/文件:_C:_jv_eclipse_eclipse-SDK-3.4-win32_eclipse/url=file:/C:/jv/eclipse/eclipse-SDK-3.4-win32/eclipse/

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

你对此有什么想法/建议/提示吗?(即关于如何发现、检索和更新完整的 Eclipse 安装所需的完整结构,以便在本地运行该安装)

4

2 回答 2

11

是的,如果您使用 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 "${3}"\
      -profile "${1}"\
      -profileProperties org.eclipse.update.install.features=true\
      -bundlepool ${SHARED_BUNDLEPOOL_DIR}\
      -p2.os linux\
      -p2.ws gtk\
      -p2.arch "${2}"\
      \
      -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

于 2009-04-02T21:49:08.690 回答
1

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

于 2008-10-08T10:13:33.033 回答