首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否从远程p2站点创建本地p2站点?

是否从远程p2站点创建本地p2站点?
EN

Stack Overflow用户
提问于 2011-03-05 05:11:12
回答 2查看 1.4K关注 0票数 1

在eclipse中,我创建了一个.target文件,在其中添加了来自远程eclipse p2站点的特性。

现在,我想创建一个本地p2站点,它是目标定义中定义的聚合特性的副本(最好是针对所有环境)。

我需要这个本地的p2站点与一个使用maven3/tycho的构建系统一起使用,但还没有找到一个“稳定”的方法来做到这一点。我尝试过以下几种方法:

1)将目标文件导出到本地目录。

问题:不创建p2站点,只创建一个包含特性/插件的文件夹。

2)将目标文件导出到本地目录,并在该目录上运行eclipse FeaturesAndBundlesPublisher应用程序。

问题:这会创建一个p2站点,但是缺少一些原始的特性/包。

3)使用buckmeister根据从.target文件初始化的功能创建p2站点:

p2.site using buckmeister

问题:在生成的p2站点中不会保留.target文件内容中的原始功能。尤其是,如果目标文件包含特性: org.eclipse.equinox.executable.feature,则这是一个问题。在生成的p2站点中将缺少此特性。

4)复制内容:

workspace.metadata.plugins\org.eclipse.pde.core.bundle_pool

问题:不是有效的p2站点。

关于如何从远程p2站点创建工作(具有完整功能)的本地p2站点,有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2011-03-05 05:47:14

您想要使用p2镜像命令。为它提供一个远程存储库URL和一个要镜像到的本地目录。下面是一个Ant宏来实现这一点。请注意,它是如何进行两个镜像调用的,因为大多数p2存储库实际上是两个存储库合二为一(工件和元数据)。

它需要"bootstrap.platform“属性集,这是您想要使用其p2的Eclipse install的位置。

代码语言:javascript
复制
  <macrodef name="p2.mirror">
    <attribute name="source"/>
    <attribute name="destination"/>
    <sequential>
      <echo message="Mirroring repository @{source} to @{destination}..."/>
      <java classname="org.eclipse.core.launcher.Main" fork="true" failonerror="true">
        <classpath>
          <fileset dir="${bootstrap.platform}/plugins">
            <include name="**/org.eclipse.equinox.launcher_*.jar"/>
          </fileset>
        </classpath>
        <arg line="-application org.eclipse.equinox.p2.artifact.repository.mirrorApplication"/>
        <arg line="-source @{source}"/>
        <arg line="-destination @{destination}"/>
      </java>
      <java classname="org.eclipse.core.launcher.Main" fork="true" failonerror="true">
        <classpath>
          <fileset dir="${bootstrap.platform}/plugins">
            <include name="**/org.eclipse.equinox.launcher_*.jar"/>
          </fileset>
        </classpath>
        <arg line="-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication"/>
        <arg line="-source @{source}"/>
        <arg line="-destination @{destination}"/>
      </java>
    </sequential>
  </macrodef>
票数 2
EN

Stack Overflow用户

发布于 2015-05-01 20:56:10

您可以直接从命令行运行Ant,而不是使用Ant:

代码语言:javascript
复制
eclipse -nosplash -verbose
  -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication
  -source http://download.eclipse.org/releases/luna
  -destination file:/temp/lunaclone

eclipse -nosplash -verbose
  -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication
  -source http://download.eclipse.org/releases/luna
  -destination file:/temp/lunaclone

当然,每个命令在输入时都应该是一行。

如果您使用的是windows系统,目标路径将如下所示

代码语言:javascript
复制
  -destination file:C:/temp/lunaclone

如果您需要一个与Eclipse Project Update Sites不同版本(-source)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5199296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档