解决MyEclipse 8.0 升级至 8.5 无法启动 No application

原文地址: 解决MyEclipse 8.0 升级至 8.5 无法启动 No applicati 作者: Demon

解决办法:

修改 config.ini,把这俩参数给改了

eclipse.product=com.genuitec.myeclipse.product8.ide
osgi.splashPath=platform:/base/plugins/com.genuitec.myeclipse.product8

改为:

eclipse.product=com.genuitec.myeclipse.product85.ide
osgi.splashPath=platform:/base/plugins/com.genuitec.myeclipse.product85

OK!!

前两天更新MyEclipse的SVN插件的时候提示可以从8.0更新到8.5,于是很Happy地点了更新。

当时也准备关闭才更新的,也没注意是否更新成功,今天再次启动,提示Message并无法启动......@_@

还好,无法启动有log看:

  1. !SESSION 2010-03-29 00:39:45.734 ----------------------------------------------- 
  2. eclipse.buildId=unknown 
  3. java.version=1.6.0_13 
  4. java.vendor=Sun Microsystems Inc. 
  5. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN 
  6. Command-line arguments:  -os win32 -ws win32 -arch x86 
  7. !ENTRY org.eclipse.equinox.app 0 0 2010-03-29 00:40:23.281
  8. !MESSAGE Product com.genuitec.myeclipse.product8.ide could not be found. 
  9. !ENTRY org.eclipse.equinox.p2.repository 4 0 2010-03-29 00:40:24.250
  10. !MESSAGE ProvisioningEventBus could not be obtained. Metadata caches may not be cleaned up properly. 
  11. !ENTRY org.eclipse.osgi 4 0 2010-03-29 00:40:31.421
  12. !MESSAGE Application error 
  13. !STACK 1
  14. java.lang.RuntimeException: No application id has been found. 
  15. at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236) 
  16. at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29) 
  17. at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
  18. at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
  19. at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) 
  20. at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
  21. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  22. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  23. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  24. at java.lang.reflect.Method.invoke(Method.java:597) 
  25. at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) 
  26. at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 
  27. at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

!SESSION 2010-03-29 00:39:45.734 ----------------------------------------------- eclipse.buildId=unknown java.version=1.6.0_13 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.equinox.app 0 0 2010-03-29 00:40:23.281 !MESSAGE Product com.genuitec.myeclipse.product8.ide could not be found. !ENTRY org.eclipse.equinox.p2.repository 4 0 2010-03-29 00:40:24.250 !MESSAGE ProvisioningEventBus could not be obtained. Metadata caches may not be cleaned up properly. !ENTRY org.eclipse.osgi 4 0 2010-03-29 00:40:31.421 !MESSAGE Application error !STACK 1 java.lang.RuntimeException: No application id has been found. at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236) at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl<wbr>.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl<wbr>.invoke(NativeMethodAccessorImpl<wbr>.java:39) at sun.reflect.DelegatingMethodAccessor<wbr>Impl.invoke(DelegatingMethodAccessor<wbr>Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

应用程序错误,是一个RuntimeException,应用程序ID没找到。

看第二行,eclipse.buildId=unknown

再看看其余两个Msg

com.genuitec.myeclipse.product8.ide找不到

ProvisioningEventBus无法获得,元数据缓存可以没有清理好。

估想着就是Myeclipse.product8.ide找不到的问题,找找看吧。

在MyEclipse安装根目录有myeclipse.ini

view plain copy to clipboard print ?

  1. -startup 
  2. ../8.0GACommonDirectory/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar 
  3. --launcher.library 
  4. ../8.0GACommonDirectory/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 
  5. -install 
  6. D:/MyEclipse/MyEclipse8.0GA 
  7. -vm 
  8. D:/MyEclipse/8.0GACommonDirectory/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll 
  9. -configuration 
  10. configuration 
  11. -vmargs 
  12. -Xmx512m 
  13. -XX:MaxPermSize=256m 
  14. -XX:ReservedCodeCacheSize=64m

-startup ../8.0GACommonDirectory/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar --launcher.library ../8.0GACommonDirectory/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -install D:/MyEclipse/MyEclipse8.0GA -vm D:/MyEclipse/8.0GACommonDirectory/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll -configuration configuration -vmargs -Xmx512m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=64m

startup目标包有了

launcher.library的目标文件夹也有了

jvm就不用看了,运行都运行不了怎么来的错误提示(其实启动包和运行lib也一样,不过就是不放心,顺便看一眼)

应该是配置的问题,就在安装目录下configuration文件夹里有个config.ini

view plain copy to clipboard print ?

  1. #Generated by Pulse at Fri Mar 26 15:11:06 CST 2010
  2. #Fri Mar 26 15:11:06 CST 2010
  3. com.genuitec.pulse.client.handshake.id=****** 
  4. org.eclipse.update.reconcile=false
  5. eclipse.p2.profile=com.poweredbypulse.profile-0-rb-578452 
  6. [email protected]/Workspaces/MyEclipse 8.0 
  7. osgi.framework=file:../8.0GACommonDirectory/plugins/org.eclipse.osgi_3.5.1.R35x_v20090827.jar 
  8. com.genuitec.pulse.client.credentials=****** 
  9. com.genuitec.pulse.client.blueprint.id=rmb-478634 
  10. com.genuitec.pulse.common.server.url=https://www.poweredbypulse.com:443
  11. osgi.bundles=reference:file:org.eclipse.equinox.simpleconfigurator_1.0.102.v200911181800.jar@1:start 
  12. org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info 
  13. eclipse.product=com.genuitec.myeclipse.product8.ide 
  14. osgi.splashPath=platform:/base/plugins/com.genuitec.myeclipse.product8 
  15. eclipse.p2.data.area=file:/C:/Program Files/Genuitec/Common/configuration/ 
  16. osgi.bundles.defaultStartLevel=4 
  17. osgi.framework.extensions= 
  18. com.genuitec.pulse.client.basedir.location.override=C:/Program Files/Genuitec

#Generated by Pulse at Fri Mar 26 15:11:06 CST 2010 #Fri Mar 26 15:11:06 CST 2010 com.genuitec.pulse.client.handshake.id=****** org.eclipse.update.reconcile=false eclipse.p2.profile=com.poweredbypulse.profile-0-rb-578452 [email protected]/Workspaces/MyEclipse 8.0 osgi.framework=file:../8.0GACommonDirectory/plugins/org.eclipse.osgi_3.5.1.R35x_v20090827.jar com.genuitec.pulse.client.credentials=****** com.genuitec.pulse.client.blueprint.id=rmb-478634 com.genuitec.pulse.common.server.url=https://www.poweredbypulse.com:443 osgi.bundles=reference:file:org.eclipse.equinox.simpleconfigurator_1.0.102.v200911181800.jar@1:start org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info eclipse.product=com.genuitec.myeclipse.product8.ide osgi.splashPath=platform:/base/plugins/com.genuitec.myeclipse.product8 eclipse.p2.data.area=file:/C:/Program Files/Genuitec/Common/configuration/ osgi.bundles.defaultStartLevel=4 osgi.framework.extensions= com.genuitec.pulse.client.basedir.location.override=C:/Program Files/Genuitec

com.genuitec.pulse.client.handshake.id 和 com.genuitec.pulse.client.credentials有关客户信息,这就用******注掉了,是有信息的

很醒目的

eclipse.product=com.genuitec.myeclipse.product8.ide,立刻搜索了一下。

咦?D盘MyEclipse的安装目录下有一个8.0GACommonDirectorypluginscom.genuitec.myeclipse.product8_8.0.0.me200911192201

但文件夹名却与配置文件中的eclipse.product的配置信息不对应,其它地方就再也找不到product对应的文件夹或者包了,看来应该有映射文件或者注册信息

再看看config.ini

org.eclipse.equinox.simpleconfigurator.configUrl对应了一个bundles.info

bundles.info???正好了....去找出来看看(这文件太大,就不贴出来了)

用普通文档编辑器就能打开,正好是插件名对应插件包或文件夹的配置文件。

在里面搜索com.genuitec.myeclipse.product8.ide,没找到!

缩小搜索范围吧,找com.genuitec.myeclipse.product8,找到两目标,但是却不是product8,而是com.genuitec.myeclipse.product85

一想,哦!正好是8.0更新8.5之后启动不起来的,看来自动升级没把config给改过来。

这.....莫非是MyEclipse的Bug?

不管是不是Bug,还得靠MyEclipse做东西的,赶紧修改config.ini,把这俩参数给改了

eclipse.product=com.genuitec.myeclipse.product85.ide
osgi.splashPath=platform:/base/plugins/com.genuitec.myeclipse.product85

保存配置文件,重新启动.....Bingo!体验8.5去喽!

 

<----------------------------------------------------------------->

我的问题表面上一样,但是出现问题的地方不一样:

在bundles.info 中没有com.genuitec.myeclipse.product85

在此文件的最后一行添加如下:

com.genuitec.myeclipse.product85,8.5.0.me201003250242,file:/C:/Program Files/Genuitec/Common/plugins/com.genuitec.myeclipse.product85_8.5.0.me201003250242/,4,false

注意product85_8.5.0.me201003250242可能每个人不一样,必须搜索安装目录查看自己的序号是什么。

你可能感兴趣的:(MyEclipse,File,application,reference,2010,Constants)