是否可以使eclipse p2供应机制在本地运行?
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