MyEclipse 启动之 java.lang.RuntimeException: No application id has been

found. 今天公司刚买来一台服务器,配置安装 java 开发环境的时候,MyEclipse 无法启动,查看日志文件之后,具体错误信息 如下:

[java] view plaincopyprint? 1. 2. 3. 4. 5. 6. 7. 8. 9. !SESSION 2012-09-18 09:56:44.412 ----------------------------------------------eclipse.buildId=M20080221-1800 java.version=1.6.0_21 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_CN Command-line arguments: -os win32 -ws win32 -arch x86 -clean !ENTRY org.eclipse.equinox.app 2012-09-18 09:56:54.570 10. !MESSAGE Product com.genuitec.myeclipse.product.ide could not be found. 11. 12. 13. !ENTRY org.eclipse.osgi 4 0 2012-09-18 09:56:54.607 14. !MESSAGE Application error 15. !STACK 1 16. java.lang.RuntimeException: No application id has been found. 17. at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.ja va:236) 18. 19. 20. 21. at org.eclipse.equinox.internal.app.EclipseAppContainer.start(EclipseAppContainer.java:98) at org.eclipse.equinox.internal.app.Activator.addingService(Activator.java:112) at org.osgi.util.tracker.ServiceTracker$Tracked.trackAdding(ServiceTracker.java:1064) at org.osgi.util.tracker.ServiceTracker$Tracked.trackInitialServices(ServiceTracker.java:926) 22. 23. 24. 25. ) 26. 27. at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:330) at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:274) at org.eclipse.equinox.internal.app.Activator.start(Activator.java:54) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999 at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl .java:993) 28. ) 29. 30. 31. 32. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974 at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:260) at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400) at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazy Starter.java:111) 33. 17) 34. at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:4 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader. java:189) 35. at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:340) 36. at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage. java:37) 37. 05) 38. 39. 40. 83) 41. 42. at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:4 at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java: at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.core.internal.runtime.PlatformActivator.startAppContainer(PlatformActivator.jav a:47) 43. 44. ) 45. 46. at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:32) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999 at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl .java:993) 47. ) 48. 49. 50. 51. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974 at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346) at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:350) at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1118) at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager. java:634) 52. 08) 53. at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:5 at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManage r.java:282) 54. at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager. java:468) 55. 56. at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297)

咋看之下, 太熟悉了, 因为 myeclipse 是直接从我本地机器拷贝到服务器上面的, 路径指向不对, 所以立马去 G:MyEclipse 6.5eclipselinks 文件夹里面修改 com.genuitec.eclipse.MyEclipse.link 这个配置文件,修改之后,发现无果,还是取法 启动。 具体修改信息如下:path=G:/MyEclipse 6.5/myeclipse 然后 google 一下,发现有很多解决办法,总结一下:

1、安装在中文文件夹里面(本人开发一般使用英文文件夹,无果);

2、JDK 版本和 MyEclipse 不兼容(有可能,没试过);

3、以管理员身份运行(这位仁兄太有才了);

4、重新安装;

5、删除 MyEclipse 其它多余文件;

查询完毕之后发现以上信息对我都没用,突然我想到一个问题,会不会因为服务器操作系统和我本地操作系统不一样, 路径识别不了导致 MyEclipse 无法启动?

具体修改信息如下:(去掉以前路径的空格)

1、MyEclipse 安装文件 MyEclipse 6.5 改为 MyEclipse6.5

2、path=G:/MyEclipse 6.5/myeclipse 改为 path=G:/MyEclipse6.5/myeclipse OK,如此修改之后,顺利启动。

原文地址:https://www.cnblogs.com/firstdream/p/6738650.html