天天看點

Eclipse3.2正式版導出RCP的BUG

換用Eclipse3.2有些日子了,從RC一直用到last release,以前用3.2RC版在6月份導出過RCP項目,沒什麼問題。現在8月,換了3.2 last release,用*.product檔案的導出功能導出RCP項目後,卻死活啟動不了。依賴項目檢查過了,和以往的版本也比對過了,雖然config.ini檔案有變化,我想那也是最版本自已的變動,不會有什麼大問題。異常日志如下:

! SESSION  2006 - 08 - 09   10 : 25 : 55.734   ----------------------------------------------- 

eclipse.buildId = unknown

java.version = 1.5 .0_05

java.vendor = Sun Microsystems Inc.

BootLoader constants: OS = win32, ARCH = x86, WS = win32, NL = zh_CN

Command - line arguments:   - os win32  - ws win32  - arch x86

! ENTRY org.eclipse.core.runtime  2006 - 08 - 09   10 : 25 : 57.125 

! MESSAGE 找不到産品 com.wxxr.management.admin.console.admin_console_product。

! ENTRY org.eclipse.osgi  4   0   2006 - 08 - 09   10 : 25 : 57.140 

! MESSAGE Application error

! STACK  1 

java.lang.RuntimeException: 找不到應用程式辨別。

    at org.eclipse.core.internal.runtime.PlatformActivator$ 1 .run(PlatformActivator.java: 56 )

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java: 92 )

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java: 68 )

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: 400 )

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: 177 )

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39 )

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 )

    at java.lang.reflect.Method.invoke(Method.java: 585 )

    at org.eclipse.core.launcher.Main.invokeFramework(Main.java: 336 )

    at org.eclipse.core.launcher.Main.basicRun(Main.java: 280 )

    at org.eclipse.core.launcher.Main.run(Main.java: 977 )

    at org.eclipse.core.launcher.Main.main(Main.java: 952 )

! ENTRY org.eclipse.osgi  2   0   2006 - 08 - 09   10 : 25 : 57.156 

! MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:

! SUBENTRY  1  org.eclipse.osgi  2   0   2006 - 08 - 09   10 : 25 : 57.156 

! MESSAGE Bundle update@plugins / org.eclipse.gef_3. 2.0 .v20060626.jar was not resolved.

! SUBENTRY  2  org.eclipse.gef  2   0   2006 - 08 - 09   10 : 25 : 57.156 

! MESSAGE Missing required bundle org.eclipse.draw2d_[ 3.2 . 0 , 4.0 . 0 ).

! MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry  for  the root cause  if  it exists:

! MESSAGE Bundle update@plugins / com.wxxr.management.admin.console_1. 0.0 .jar [ 6 ] was not resolved.

! SUBENTRY  2  com.wxxr.management.admin.console  2   0   2006 - 08 - 09   10 : 25 : 57.156 

! MESSAGE Missing required bundle org.eclipse.gef_0. 0.0 .

! MESSAGE Bundle update@plugins / org.eclipse.gef_3. 2.0 .v20060626.jar [ 40 ] was not resolved.

下面是中文版的異常日志,英文版的如下:

! SESSION  2006 - 08 - 09   10 : 29 : 38.125   ----------------------------------------------- 

! ENTRY org.eclipse.core.runtime  2006 - 08 - 09   10 : 29 : 39.421 

! MESSAGE Product com.wxxr.management.admin.console.admin_console_product could not be found.

! ENTRY org.eclipse.osgi  4   0   2006 - 08 - 09   10 : 29 : 39.421 

java.lang.RuntimeException: No application id has been found.

! ENTRY org.eclipse.osgi  2   0   2006 - 08 - 09   10 : 29 : 39.437 

! SUBENTRY  1  org.eclipse.osgi  2   0   2006 - 08 - 09   10 : 29 : 39.437 

! SUBENTRY  2  org.eclipse.gef  2   0   2006 - 08 - 09   10 : 29 : 39.437 

! MESSAGE Bundle update@plugins / com.wxxr.management.admin.console_1. 0.0 .jar [ 5 ] was not resolved.

! SUBENTRY  2  com.wxxr.management.admin.console  2   0   2006 - 08 - 09   10 : 29 : 39.437 

! MESSAGE Bundle update@plugins / org.eclipse.gef_3. 2.0 .v20060626.jar [ 25 ] was not resolved.

最後耗了一個下午,Google了很多資料,還是不行。于是去Eclipse.org當了3.2的一個8月份更新的版本,檔案名eclipse-SDK-M20060802-0800-win32.zip。用這個版本導出RCP項目一點問題也沒有。

我比對了3.2M20060802版和3.2正式版的不同。發現config.ini、.eclipseproduct都一樣。把後者導出的項目jar包換在前者中,也能正常啟動。而且我檢查了plugin目錄下的檔案,兩者種類數目都相同,是以依賴的插件也對。唯一不同的就是plugin目錄下依賴插件的版本不同。我想可能是後者導出的這些依賴插件的内部存在有BUG吧。

另外,3.2版的語言包在3.2M20060802中也能使用。