我们的 Eclipse RCP 应用程序有一个来自 Eclipse 3.2 的无头 PDE Build 设置,该设置已经运行了多年。我们最近将用于进行无头 PDE 构建的 Eclipse 实例和我们的目标平台都更新到了 3.6(主要是为了能够创建“进入”我们的应用程序的超链接),而无头 PDE 构建现在失败了:
...
[java] generateFeature:
[java]
[java] fetch:
[java]
[java] generateFeature:
[java]
[java] BUILD FAILED
[java] C:\Projects\[...]\PDE Build\plugins\org.eclipse.pde.build_3.6.2.R36x_20110203\scripts\productBuild\productBuild.xml:39: The following error occurred while executing this line:
[java] C:\Projects\[...]\PDE Build\plugins\org.eclipse.pde.build_3.6.2.R36x_20110203\scripts\productBuild\productBuild.xml:69: java.lang.NullPointerException
[java]
[java] Total time: 0 seconds
[java] An error has occurred. See the log file
[java] C:\Projects\[...a separate area dedicated to making builds...]\workspace\.metadata\.log.
日志文件中堆栈跟踪的相关部分似乎是:
java.lang.NullPointerException
at org.eclipse.pde.internal.build.BundleHelper.getProvisioningAgent(BundleHelper.java:104)
at org.eclipse.pde.internal.build.AbstractScriptGenerator.getAssociatedRepositories(AbstractScriptGenerator.java:625)
at org.eclipse.pde.internal.build.AbstractScriptGenerator.getSite(AbstractScriptGenerator.java:332)
at org.eclipse.pde.internal.build.FeatureGenerator.createFeature(FeatureGenerator.java:339)
at org.eclipse.pde.internal.build.FeatureGenerator.generate(FeatureGenerator.java:161)
at org.eclipse.pde.internal.build.tasks.FeatureGeneratorTask.run(FeatureGeneratorTask.java:54)
at org.eclipse.pde.internal.build.tasks.FeatureGeneratorTask.execute(FeatureGeneratorTask.java:36)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
...
PDE Build
Eclipse 实例就是根据这个过程创建的。我们试图尽可能地制作一个干净的目标平台,但是(在没有明确的说明或早期成功的情况下)采取解压缩eclipse-rcp-helios-SR2-win32.zip
到一个目录然后eclipse-3.6.2-delta-pack.zip
在它上面解压缩的方式。
我们如何才能将 PDE 构建过程恢复到正常工作状态?