|
今天啟動(dòng)Zend Studio報(bào)錯(cuò)了,其實(shí)這種事經(jīng)常發(fā)生。 但大多數(shù)情況我還是用一種簡單粗暴的方法: 方法1.把整個(gè)工作區(qū)間刪除,然后又重新創(chuàng)建每個(gè)項(xiàng)目 當(dāng)然如果這個(gè)工作區(qū)里面的項(xiàng)目少的話,這么搞沒什么。如果多的話挺蛋疼的! 所以建議多設(shè)置幾個(gè)工作區(qū),每個(gè)工作區(qū)項(xiàng)目數(shù)不超過5個(gè)!有點(diǎn)跑題了。。。 方法2.刪除下面路徑里面的所有.snap文件 C:\Users\xxx用戶\Zend\workspaces\xxx工作區(qū)\.metadata\.plugins\org.eclipse.core.resources\.projects\xxx項(xiàng)目名\刪除里面所有的.snap文件 下面是Zend Studio報(bào)錯(cuò)內(nèi)容, !SESSION 2014-08-08 09:20:30.229 ----------------------------------------------- eclipse.buildId=unknown java.version=1.7.0_45 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN Framework arguments: -showlocation Command-line arguments: -os win32 -ws win32 -arch x86 -showlocation This is a continuation of log file C:\Users\yearnfar\Zend\workspaces\xxxxx\.metadata\.bak_0.log Created Time: 2014-08-08 09:20:36.201 !ENTRY org.eclipse.osgi 4 0 2014-08-08 09:20:36.201 !MESSAGE Application error !STACK 1 java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (109). at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395) at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35) at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(Unknown Source) ... 13 more Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263) at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107) ... 22 more Caused by: java.lang.StackOverflowError at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) at org.eclipse.core.internal.localstore.SafeChunkyInputStream.find(SafeChunkyInputStream.java:98) ======================================================================= eclipse工作空間下.snap文件的作用是什么是個(gè) snapshot 快照,這是視圖的狀態(tài)緩存,因?yàn)橐粋€(gè)視圖被你關(guān)閉或 eclipse 重啟之后,按理說剛啟動(dòng)后這個(gè)視圖沒有內(nèi)容的,不是每個(gè)視圖都可以在剛顯示出來的時(shí)候調(diào)用 initialize 方法重新初始化的,因?yàn)橛行┮晥D不是根據(jù)當(dāng)前的編輯器內(nèi)容計(jì)算出來的而是根據(jù)其它動(dòng)態(tài)的內(nèi)容計(jì)算出來的,重啟之后這些動(dòng)態(tài)內(nèi)容消失了,不可能再計(jì)算出完全不相同的狀態(tài)來,因此 Eclipse 必須在一個(gè)視圖關(guān)閉時(shí)必須緩存數(shù)據(jù)和狀態(tài)。下次打開時(shí)直接從緩存中恢復(fù),即加快了速度又保證的狀態(tài)的一致性。用一個(gè) Eclipse 創(chuàng)建一個(gè)簡單的樣例 View,我們可以讓 SampleView 覆蓋父類一個(gè) saveState 方法,這個(gè)方法就是在 Eclipse 通知我們應(yīng)該緩存狀態(tài)的時(shí)候被調(diào)用的,類似的 JSF 也有這樣的方法用來支持它的生命周期。 |
|
|