如何在headless服务器上构建Eclipse插件更新站点?

如何在headless服务器上构建Eclipse插件更新站点?,eclipse,build,p2,headless,Eclipse,Build,P2,Headless,在过去的几天里,我一直在尝试在一个无头Debian虚拟机上测试构建我的eclipse插件。使用无头Debian VM的原因是,一旦我进行了构建设置,构建和更新站点将托管在远程服务器上。 我迄今为止所取得的成就: 构建插件本身(${Projectname}-${version}.jar) 构建功能(${Prohjectname}\u功能${version}.jar) 将feature和plugin以及site.xml移动到带有./features和./plugins的${structured f

在过去的几天里,我一直在尝试在一个无头Debian虚拟机上测试构建我的eclipse插件。使用无头Debian VM的原因是,一旦我进行了构建设置,构建和更新站点将托管在远程服务器上。 我迄今为止所取得的成就:

  • 构建插件本身(${Projectname}-${version}.jar)
  • 构建功能(${Prohjectname}\u功能${version}.jar)
  • 将feature和plugin以及site.xml移动到带有./features和./plugins的${structured folder}文件夹中
在我的具有完整Ubuntu的开发盒上,我能够在CLI上运行以下命令来构建所需的content.jar和artifacts.jar:

/usr/bin/eclipse -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher -metadaRepository file:${folder-to-repo} -artifactRepository file:${folder-to-repo} -source ${structured-folder} -publishArtifacts -compress
在我的无头构建中,我试图用

java -jar ${path-to-eclipse/plugins}/org.eclipse.equinox.launcher_${version-string}.jar -initialize -application ...
但这并没有给我任何输出。然后我尝试安装eclipse本身,但没有产生任何积极的结果,因为运行/usr/bin/eclipse需要GTK和X

所以我的问题是:
在headless模式下构建和发布eclipse插件的正确设置是什么样子的?我需要什么插件?我需要下载哪些eclipse片段以及如何运行该过程?

我正在使用ant和hudson构建我们的eclipse产品和更新站点。根据您的需要,任务将如下所示:

<java jar="${eclipse.build.launcher}" fork="true" failonerror="true">
    <arg value="-application" />
    <arg value="org.eclipse.ant.core.antRunner" />
    <arg value="-buildfile" />
    <arg file="${basedir}/process_artifacts.xml" />
    <jvmarg value="-Dp2.repo=${repository}" />
</java>

以eclipse作为参考


在我最初设置它的时候,它还没有准备好使用。我在几周前再次尝试过它,结果非常顺利,所以我建议尝试一下。

我不确定我是否会在现有版本中帮助您,但我建议您切换到基于tycho的版本。您可以在或上找到更多信息。我尝试过设置两个基于PDE的版本builds and IMO tycho是一种更快、更好的建立和更新站点的方法。可能会有一些问题。例如,请看一看。我在上有一个更真实的示例。是否有一个流程的示例_artifacts.xml?${repository}的价值应该是什么?向Thomas致意。