0

私たちの Eclipse RCP アプリケーションには、何年も機能している Eclipse 3.2 からのヘッドレス PDE ビルド セットアップがあります。最近、ヘッドレス 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.zipeclipse-3.6.2-delta-pack.zip

PDE ビルド プロセスを正常な状態に戻すにはどうすればよいでしょうか?

4

1 に答える 1

1

おそらく、私たちのバージョンbuild.propertiesは古すぎる (おそらく 3.2 のテンプレートから) か、ターゲット プラットフォームを不適切に構築したのかもしれません。トリック 1")およびディレクトリを除くターゲット プラットフォーム ディレクトリからすべてを削除します。これにより、少なくとも PDE ビルドの不可解な窒息が停止し、エラー メッセージによって、実行しなければならなかった残りの修正に進むことができました。(私たちの場合、これらの修正は、「必要なプラグインを追加」をクリックしてフラグメントへの参照を削除することにより、必要なプラグインのセカンダリ (テスト) 製品定義のリストを更新することでほぼ完全に構成されていました。)pluginsfeaturesorg.eclipse.ant.optional.junit4

実際、ターゲット プラットフォームから次の行のいずれかを削除するだけで、configuration/config.iniPDE ビルドの固着を解除できます。

eclipse.p2.profile=epp.package.rcp

(また)

eclipse.p2.data.area=@config.dir/../p2

...すべてを取り除くことを好みましたが、ターゲットプラットフォームに隠れている他の魔法の存在が、私たちpluginsfragmentsつまずかせる可能性があるため.

(これらの行の 1 つを削除することが PDE ビルドをなだめる理由を理解していません. . . しかし、私たちはビジネスに戻ってきました。)

于 2011-03-17T19:39:12.630 に答える