在我的项目中,我使用 PDE/Build 在 Hudson 的远程服务器上构建我的 RCP 应用程序。当前版本是一个基于 Eclipse Galileo 的包,它既可以作为构建器应用程序,也可以作为目标平台。
现在我想将它升级到 Indigo,我需要一些帮助。
首先,解压多个 zip 以形成目标平台的旧方法行不通。(我使用了 Platform Runtime Binary、Delta pack、PDE Runtime Binary 和 JDT Runtime Binary——我想出的一套既可以用作构建器,也可以用作目标平台)。
好的,有新的目标定义。 我将如何配置它以使其与我的 Galileo 设置相对应? (当然我不介意它是否更简单/更清洁)。
我尝试了以下方法:
- 从 download.eclipse.org/eclipse/updates/3.7 添加了 Eclipse RCP、Eclipse RCP 插件开发人员资源(用于源代码)、PDE/API 工具环境
- 从 download.eclipse.org/releases/indigo 添加了 Eclipse Java Development
- 从 download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/download.php?dropFile=eclipse-3.7-delta-pack.zip 手动下载增量包,解压并添加结果目录(作为目录)到目标定义。顺便问一下,是否有 Indigo delta pack 的更新站点?
- 从 Eclipse Orbit p2 站点添加了几个第三方插件:download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository
然后我使用了定义的“设置为目标平台”——我的项目在我的工作区中构建得很好——很好!然后我将平台导出到 . 现在,如果我尝试像这样执行我的构建:
java -jar <target-platform>\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar -application org.eclipse.ant.core.antRunner -buildfile <target-platform>/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/productBuild/productBuild.xml -Dbuilder=<pdebuild-folder>
甚至
java -jar <target-platform>\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar
我收到以下错误:
发生了错误。查看日志文件\configuration\1316517334675.log
该日志包含以下内容:
!SESSION 2011-09-20 15:15:34.269 eclipse.buildId=unknown java.version=1.7.0 java.vendor=Oracle Corporation BootLoader 常量:OS=win32, ARCH=x86, WS=win32, NL=en_US
!ENTRY org.eclipse.osgi 4 0 2011-09-20 15:15:35.175 !MESSAGE 应用程序错误 !STACK 1 java.lang.IllegalStateException: 无法获取应用程序服务。确保 org.eclipse.core.runtime 包已解析并启动(请参阅 config.ini)。在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) 在 org.eclipse.core .runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source ) 在 java.lang.reflect.Method.invoke(Unknown Source) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: