Eclipse 4.3(Kepler),已安装插件WindowBuilder(来自http://download.eclipse.org/windowbuilder/WB/integration/4.3/)。 保存时会导致冻结~60%。 使用的组件:JFrame,JLabel,JTextField,JButton,JTable(带模型),JTabbedPanel,JPanel。
如果我只添加2个组件并保存,那么保存没问题,但如果我添加5个以上的组件,那么它在保存时会冻结。中止储蓄并没有帮助。 所以我按CTRL +打开以打开我的ScreenshotCapturer,以捕获屏幕截图然后保存工作。没有ScreenshotCapturer(我自己在C#中编写的应用程序)我无法在eclipse中保存我的项目,因为它已经冻结了。
所以我在工作区/ .metadata / .log中查找并找到了保存时导致的NullPointerException:
!MESSAGE Designer [1.6.0.r43x201305211944.201308211039]:java.lang.NullPointerException !堆栈0 显示java.lang.NullPointerException at org.eclipse.wb.core.eval.AstEvaluationEngine $ 1.runObject(AstEvaluationEngine.java:65) at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runObjectLog(ExecutionUtils.java:304) 在org.eclipse.wb.core.eval.AstEvaluationEngine.evaluate(AstEvaluationEngine.java:63) at org.eclipse.wb.internal.swing.model.component.JTableInfo.evaluateColumnModelInvocations(JTableInfo.java:76) 在org.eclipse.wb.internal.swing.model.component.JTableInfo.access $ 0(JTableInfo.java:69) at org.eclipse.wb.internal.swing.model.component.JTableInfo $ 1.evaluateAfter(JTableInfo.java:62) at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 在org.eclipse.wb.core.model.broadcast.BroadcastSupport $ 1.intercept(BroadcastSupport.java:208) at org.eclipse.wb.core.model.broadcast.EvaluationEventListener $$ EnhancerByCGLIB $$ 83eb11fe.evaluateAfter() 在org.eclipse.wb.internal.core.parser.JavaInfoParser.evaluateNode(JavaInfoParser.java:1311) 在org.eclipse.wb.internal.core.parser.JavaInfoParser.access $ 1(JavaInfoParser.java:1300) 在org.eclipse.wb.internal.core.parser.JavaInfoParser $ ExecutionFlowParseVisitor $ 3.run(JavaInfoParser.java:602) 在org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runRethrow(ExecutionUtils.java:119) 在org.eclipse.wb.internal.core.parser.JavaInfoParser $ ExecutionFlowParseVisitor.postVisit(JavaInfoParser.java:592) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) .....
我打开Java VisualVM来查看冻结时正在运行的线程: RMI TCP Accept-0 100% AWT-Windows 100% 附加监听器100% 信号调度员100% 主要100%
Heap正在疯狂地玩,然后上升然后每秒钟下降。
我正在使用Windows 7 Professional和JRE 7以及JDK 7(64位,Eclipse 64位)。
我希望有人遇到同样的问题并知道解决方案。
答案 0 :(得分:0)
尝试在eclipse.ini中添加eclipse内存,添加类似
的内容-XX:MaxPermSize参数=256米
-Xms40m
-Xmx1024m