我想创建一个轻量级的 Eclipse 更新站点,它只引用远程更新站点中的功能或插件,以便我的团队有一个入口点来安装和更新我们用于某些项目的所有常见插件。
但我找不到引用这些外部功能/插件的方法。我已经创建了一些到外部更新站点的存档映射,但是在构建更新站点时它会不断下载所有工件。
有没有办法阻止这种情况,以便我们只在本地拥有描述符?
我想创建一个轻量级的 Eclipse 更新站点,它只引用远程更新站点中的功能或插件,以便我的团队有一个入口点来安装和更新我们用于某些项目的所有常见插件。
但我找不到引用这些外部功能/插件的方法。我已经创建了一些到外部更新站点的存档映射,但是在构建更新站点时它会不断下载所有工件。
有没有办法阻止这种情况,以便我们只在本地拥有描述符?
如果您提供可以指向一个或多个远程存储库的复合 p2 存储库,则可以聚合其他远程更新站点。在您的更新目录中,创建 2 个文件:
复合工件.xml:
<?xml version='1.0' encoding='UTF-8'?>
<?compositeArtifactRepository version='1.0.0'?>
<repository name='Local Artifact Repository Collection' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1'>
<properties size='2'>
<property name='p2.timestamp' value='1323486257091'/>
<property name='p2.compressed' value='true'/>
</properties>
<children size='2'>
<child location='http://download.eclipse.org/eclipse/updates/3.8-I-builds/'/>
<child location='http://download.eclipse.org/e4/updates/0.12-I-builds'/>
</children>
</repository>
复合内容.xml:
<?xml version='1.0' encoding='UTF-8'?>
<?compositeMetadataRepository version='1.0.0'?>
<repository name='Local Content Repository Collection' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1'>
<properties size='2'>
<property name='p2.timestamp' value='1323486257489'/>
<property name='p2.compressed' value='true'/>
</properties>
<children size='2'>
<child location='http://download.eclipse.org/eclipse/updates/3.8-I-builds/'/>
<child location='http://download.eclipse.org/e4/updates/0.12-I-builds'/>
</children>
</repository>
然后你可以使用你的更新目录作为输入Help>Install New Software
您可以这样做,但您必须通过档案将插件和功能添加到您的site.xml。此外,重要的是不要更改名称并在存档路径中包含功能所需的所有插件。这是一个真实示例的片段:
<feature url="http://borisvl.github.com/Pdf4Eclipse/features/de.vonloesch.pdf4eclipse_1.0.1.jar" id="de.vonloesch.pdf4eclipse" version="1.0.1">
<category name="Pdf4Eclipse"/>
</feature>
<archive path="features/de.vonloesch.pdf4eclipse_1.0.1.jar" url="http://borisvl.github.com/Pdf4Eclipse/features/de.vonloesch.pdf4eclipse_1.0.1.jar"/>
<archive path="plugins/de.vonloesch.pdf4Eclipse_1.0.1.201111161450.jar" url="http://borisvl.github.com/Pdf4Eclipse/plugins/de.vonloesch.pdf4Eclipse_1.0.1.201111161450.jar"/>
<archive path="plugins/de.vonloesch.pdf4eclipse.help_1.0.0.201111161450.jar" url="http://borisvl.github.com/Pdf4Eclipse/plugins/de.vonloesch.pdf4eclipse.help_1.0.0.201111161450.jar"/>
如您所见,这包括de.vonloesch.pdf4eclipse_1.0.1.jar
来自 github 页面的功能。此功能包括两个插件,它们也通过添加<archive ... />.
这种方法的缺点是您必须手动包含该功能的任何更新版本,但我认为没有另一种可能包含外来功能。