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.5\eclipse\links 文件夾里面修改 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,如此修改之后,順利啟動。