是否有可能在本地运行Eclipse P2自动化安装机制?

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'文件中引用类似以下行的内容:

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安装所需的完整结构,以便在本地运行该安装)
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 director的一些链接:

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


1

看起来你需要通过网络进行一次更新工作,以镜像(下载)所需内容。但之后它应该能够从本地对等方获取文件。但我想这就是你的问题 - 它是否需要网络访问来确定...


1
关于这个问题有两方面的考虑(从网络复制到本地),另一方面是(即“本地”):我需要设置什么来声明一个本地供应站点?仅复制组件是不够的。还有一些本地元数据文件需要声明,对此我并不熟悉。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接