なぜEclipseのRCPの製品ビルドは、ヘッドレスビルド中org.eclipse.ui内のクラスを見つけることができませんか?
質問
私は1つの、私が書いた機能とorg.eclipse.featureを含む製品の定義を持っています。私は日食から本製品をビルドすると、それが正常に完了します。私はヘッドレスビルドを使用しようとすると、それがorg.eclipse.uiに含まれたクラスを見つけることができないことを不平を言うようしかし、コンパイルプロセスは失敗します。これらのクラスの一つは、例えば、PlatformUIです。ビルドプロセスは、このように失敗します。
私がチェックしたとorg.eclipse.uiはorg.eclipse.uiプラグインに含まれています。私はまた私のカスタム機能で明示的にこのプラグインを含めるしようとしたが、無駄にしました。
私はまた、問題とこれらのプラグインの1つを取り外してみたが、org.eclipse.uiを使用している次に失敗しました。だから、いくつかのsowrtの決定的クラスパスの問題のようです。
私は、Eclipseのバージョン3.3.2を使用して、このヘッドレスビルドを試してみた。
解決
org.eclipse.ui.PlatformUI
クラスはorg.eclipse.ui.workbench
プラグインである。
org.eclipse.ui.workbench必要とされ、org.eclipse.uiで再輸出。
"org.eclipse.ui
" パッケージには、/ 分割パッケージ<です>。
、そしてあなただけのパッケージのプロバイダのいずれかに配線なっています。あなただけui.workbenchからクラスを必要とする場合は、あなたのインポート、パッケージステートメントに属性を追加することができます:
Import-Package:org.eclipse.ui;ui.workbench=split
それとも、あなただけのRequire-Bundle
するように変更できます。
他のヒント
あなたはbuild.properties
ファイルをチェックしましたか?
あなたは
archivesFormat
プロパティは、構成単位でビルドの出力形式(ZIP、タール、およびフォルダ)を指定することができます。
プロパティのフォーマット構成がコンフィグプロパティで指定されたものと同じ値である<configuration> - <format>
、である。
linux,gtk,x86-folder
のインストールを構築しようとしている間、それはwin32
を指定する場合は、、それは動作しません。
残念ながら、EclipseはGUIに製品を輸出し、それをヘッドレスをしている間で異なる挙動を示しています。彼らは全く同じではありません。
私は過去に発見した一つの問題は、私はデルタパックを必要ということですヘッドレスビルドが、私は私がターゲットにされたのと同じアーキテクチャ(Win32の)上でビルドをしていた場合でも、動作するためにインストールされています。 GUIから製品をエクスポートすると、デルタパックなしで動作します - DOH
!