Hudson/Jenkinsを介してRCPアプリケーションのEclipsePDEビルドを実行しようとしています。これまでのところ、Windowsマシン(Windows Server 2003で実行されているHudson)でこれを正常に実行していました。CIシステムをUNIXマシンに移行することを決定しました。UNIXマシンで同じビルドを実行すると、ビルドが失敗し、次のエラーが発生します。
!セッション2011-04-12 01:00:49.497 -------------------------------------- --------- eclipse.buildId = unknown java.version = 1.6.0_23 java.vendor =SunMicrosystemsInc。 BootLoader定数:OS = win32、ARCH = sparc、WS = win32、NL = en_US フレームワークの引数:-application org.eclipse.ant.core.antRunner -buildfile /appl/midw/jenkins/jobs/AP_NAPF/workspace/TP/plugins/org.eclipse.pde.build_3.4.1.R34x_v20081217/scripts/build.xml main -Ddummy = true コマンドライン引数:-ws win32 -os win32 -application org.eclipse.ant.core.antRunner -buildfile /appl/midw/jenkins/jobs/AP_NAPF/workspace/TP/plugins/org.eclipse.pde.build_3.4.1 .R34x_v20081217 / scripts / build.xml main -data /appl/midw/jenkins/jobs/AP_NAPF/workspace/ap_build/workspace -Ddummy = true !ENTRY org.eclipse.osgi 4 0 2011-04-12 01:00:58.961 !MESSAGEバンドルorg.eclipse.ui.workbench(687)の自動アクティブ化中にエラーが発生しました。 !スタック0 org.osgi.framework.BundleException:バンドルorg.eclipse.ui.workbenchのアクティベーターorg.eclipse.ui.internal.WorkbenchPluginが無効です org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:146)で org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:980)で org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)で org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)で org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)で org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)で org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)で org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)で org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)で org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:443)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)で org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)で java.lang.ClassLoader.loadClass(ClassLoader.java:248)で java.lang.ClassLoader.defineClass1(ネイティブメソッド)で java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)で java.lang.ClassLoader.defineClass(ClassLoader.java:616)で org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:165)で org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:554)で org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:524)で org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:455)で org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:443)で org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:423)で org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)で org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:370)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:446)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)で org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)で java.lang.ClassLoader.loadClass(ClassLoader.java:248)で org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:315)で org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227)で org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:139)で org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:980)で org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)で org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)で org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)で org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:234)で org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1274)で org.eclipse.ant.core.AntCorePreferences $ WrappedClassLoader.findClass(AntCorePreferences.java:115)で java.lang.ClassLoader.loadClass(ClassLoader.java:307)で java.lang.ClassLoader.loadClass(ClassLoader.java:248)で org.eclipse.ant.internal.core.AntClassLoader.loadClassPlugins(AntClassLoader.java:69)で org.eclipse.ant.internal.core.AntClassLoader.findClass(AntClassLoader.java:47)で java.lang.ClassLoader.loadClass(ClassLoader.java:307)で java.lang.ClassLoader.loadClass(ClassLoader.java:248)で org.eclipse.ant.core.AntRunner.run(AntRunner.java:510)で org.eclipse.ant.core.AntRunner.start(AntRunner.java:600)で org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)で org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)で org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)で org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)で org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で java.lang.reflect.Method.invoke(Method.java:597)で org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)で org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)で org.eclipse.equinox.launcher.Main.run(Main.java:1236)で org.eclipse.equinox.launcher.Main.main(Main.java:1212)で 原因:java.lang.NoClassDefFoundError:org / eclipse / swt / SWTError java.lang.Class.getDeclaredConstructors0(ネイティブメソッド)で java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)で java.lang.Class.getConstructor0(Class.java:2699)で java.lang.Class.newInstance0(Class.java:326)で java.lang.Class.newInstance(Class.java:308)で org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:141)で ...61もっと 原因:java.lang.ClassNotFoundException:org.eclipse.swt.SWTError org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:483)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)で org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)で org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)で java.lang.ClassLoader.loadClass(ClassLoader.java:248)で ...67もっと ルート例外: java.lang.NoClassDefFoundError:org / eclipse / swt / SWTError
新しいインフラストラクチャに移行した後、私はすでにいくつかのことを試しましたが、役に立ちませんでした。
- プロパティを使用したPDEビルドには、別のrt.jar(Windows JREからのもの)を使用し
bootclasspath
ます。 - コマンド
-os
ライン引数を次のように変更します。solaris
UnixマシンでWindowsアプリケーションのRCPビルドを実行することは可能ですか?はいの場合、PDEビルドを起動するときにパラメーターを変更する必要がありますか?
注:PDEビルドのセットアップにはpluginbuilderを使用しています。